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;
Hiç yorum yok:
Yorum Gönder