minimize event etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster
minimize event etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster

31 Temmuz 2014 Perşembe

Formun handle ile eventini yakalama

Merhabalar,

Kolay bi olay fakat her zaman ki gibi unutup tekrar aramamak için bloğumda yayınlıyorum :)

Olayımız delphinin bize sunduğu eventler haricinde eventleri yakalamaktır.

XE5 ile test ettim sorunsuz çalışmakta. Eğer ekli değilse "Winapi.Windows, Winapi.Messages" Kütüphanelerini eklemenizi rica edicem.


  
//Tanımlanması gereken procedure 
procedure WMSysCommand(var Msg: TWMSysCommand); message WM_SYSCOMMAND;


procedure TMainForm.WMSysCommand(var Msg: TWMSysCommand);
begin
  if (Msg.CmdType = SC_MINIMIZE) then
  begin
//Burası eğer küçültme işlemi yapılırsa ne yapmak istediğiniz.
  end;

   DefaultHandler(Msg) ;
end;



Sizlere "SC_MINIMIZE" haricinde kontrol edebileceğiniz eventleri aşağıda yazmış bulunmaktayım artık gerisi amaca hizmet edecek olan kodlardır.


SC_SIZE = 61440;
SC_MOVE = 61456;
SC_MINIMIZE = 61472;
SC_MAXIMIZE = 61488;
SC_NEXTWINDOW = 61504;
SC_PREVWINDOW = 61520;
SC_CLOSE = 61536;
SC_VSCROLL = 61552;
SC_HSCROLL = 61568;
SC_MOUSEMENU = 61584;
SC_KEYMENU = 61696;
SC_ARRANGE = 61712;
SC_RESTORE = 61728;
SC_TASKLIST = 61744;
SC_SCREENSAVE = 61760;
SC_HOTKEY = 61776;
SC_DEFAULT = 61792;
SC_MONITORPOWER = 61808;
SC_CONTEXTHELP = 61824;
SC_SEPARATOR = 61455;