| Uutiset | Koodikirjasto | Wiki | Keskustelut | FAQ | Info |
Minimize-tapahtumankäsittelijäRytmis 27.11.03 23:37 Reagoi ikkunan minimize-nappulan painamiseen
type TForm1 = class(TForm) procedure WM_SYSCOMMAND(Var SC: TWmSysCommand); message WM_SYSCOMMAND; end; implementation procedure TForm1.WM_SYSCOMMAND(Var SC: TWmSysCommand); begin // jos SysCommand on minimize eikä esim. close if SC.CmdType = SC_MINIMIZE then begin // reagoidaan tavalla tai toisella ShowMessage('Ohjelma minimoitu'); end; // jatketaan eventin käsittely normaalisti inherited; end; { Lopussa tuleva inherited; on erityisen tärkeä, koska jos jätät sen pois, joka ikinen SysCommand-tyyppinen viesti päättyy tuohon -- eikä esim. formin close pääse koskaan tapahtumaan... } user137 20:18 29.11.03 Ihan toimiva tuo näyttäis olevan, ja eiköhän tuosta uudetkin delphi-käyttäjät opi jotain windows viesteistä. Tuonhan olis voinu tehdä helpommin TApplicationEvents komponentin onMinimize eventin avulla... mutta se lisää uses riville AppEvents tai vastaavaa. Rytmis 14:23 30.11.03 Ensisijaisesti tässä olikin kyse siitä miten päästään käsiksi niihin windows-viesteihin joita varten ei ole event handleria. Pitää tuohon TApplicationEventsiin perehtyä, sen olemassaolo on minulle uusi asia, mutta toisaalta kun tuon tekee ilman VCL:aa, niin säästää hieman sovelluksen koossa :) |
![]() Haku
|