ikonki i zdarzenia w Popup

0

W popumMenu mam jakieś pozycje które coś robią i ikonki obok nich.
Czy da się, aby po kliknięciu na te właśnie ikonki przechwycić i wykonać coś innego ?

0
Pele2 napisał(a)

W popumMenu mam jakieś pozycje które coś robią i ikonki obok nich.
Czy da się, aby po kliknięciu na te właśnie ikonki przechwycić i wykonać coś innego ?

Może da się pobrać pozycję kursora względem menu.

0

w OnClick MenuItem musisz odpowiednio zaprogramować dwa zdarzenia jedno kiedy kursor jest nad ikona a drugie kiedy poza ikona.
Sprawdzasz pozycję kursora za pomocą GetCursorPos i w warunku if odpowiednio wykonujesz co ci tam potrzeba

0

No tak. Ale żeby obsłużyć pozycję kursora, muszę znać rozmiar i położenie pozycji popup.
Może jakaś mała podpowiedź co do tego ?

0

popupmenu1.popuppoint; //=pozycja popup'a

0
RFabianski napisał(a)

popupmenu1.popuppoint; //=pozycja popup'a

Tylko że to mi zwraca pozycję popupa jako całości a nie poszczególnych pozycji.

0

Poradziłem sobie tak:

var pt,cp : TPoint;
begin

 pt:= suiPopupMenu1.PopupPoint;
 GetCursorPos(cp);
   if (cp.X>=pt.X) and (cp.x<=pt.X+27) then
   begin
     suiPopupMenu1.OnChange(NIL, nil, False);
     ShowMessage('strzaleczka w prawo');
   end;

end;

Ale po kliknięciu za ikonkę, popup automatycznie się zamyka. A ja chcę mieć możliwość kilka razy kliknąć na ikonkę, a dopiero później na pozycję w popup żeby wykonać.
Czyli jak po kliknięciu nie zamykać popupa ?

0
Pele2 napisał(a)

Czyli jak po kliknięciu nie zamykać popupa ?

Tak to się chyba nie da.
Wydaje mi się, że musiałbyś własnego popupa napisać.

0

nom tez mi sie wydaje ze do tego to juz sobie musisz sam cos napisać bo na standardowym to tego sie nie zrobi raczej

1 użytkowników online, w tym zalogowanych: 0, gości: 1