[Delphi] Belka na pasku zadań - przypisanie własnej akcji

0

Witam wszystkich serdecznie,

Od pewnego czasu próbuje oprogramować belkę z nazwą aplikacji znajdującą się na pasku zadań, tak aby po kliknięciu na nią wykonał się mój kod (zamiast minimalizacji, forma wykonała określone zadanie, np. przesunełą się na wierzch). Problem polega na tym, że nie wiem jak dobrać się do obsługi lewego klawisza myszy ów belki. Sprawę prawego juz rozwiązałem, wzorując się na kodzie znalezionym w internecie i obsłudze komunikatów. Czy miał może ktoś podobny problem i udało mu się rozwiązać?

Z góry dzięki za pomoc ;-)

0

ja bym to zrobil przechwytujac po prostu komunikat od minimize/restore (chyba, ze windows znow cos popieprzy z komunikatami).
mozna sie jezcze zastanowic czy nie uzyc gdzies

WindowFromPoint(mouse.CursorPos)
  • wtedy np mozna poznac czy kliknieto na naszej formie czy na pasku zadan.
0

Z tym przechwytywaniem komunikatów wydaje się być sensowne, tylko teraz, jeżeli to już będzie ten odpowiedni komunikat od minimalizowania (wiem ze od maksymalizowania jest $0112) to jak zapobiec wykonania się minimalizacji? Przyjmijmy, że $0112 jest jednak od minimalizacji, a ja mam podpiętą procedure AppMessage pod OnMessage aplikacji.

Procedure TApp.AppMessage(Var Msg:TMsg; Var Handled:Boolean);
begin
   if Msg.message = $0112 then
      //??
end;

Czym zastąpić komentarz, aby nie wykonała się minimalizacja? Czy może moje myślenie idzie w złym kierunku i trzeba założyć hook'a aby to obsłużyć?

0
handled:=true;

//edit:
tylko musisz jeszcze dac warunki zeby "przepuszczalo" komunikat jesli forma juz jest zminimalizowana itd...

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