HyperLink
Bejelentkezés
E-mail: 
Jelszó: 





Skip Navigation Links
 

Rendszermenü kezelő komponens


Példaprogram letöltése

5019 bájt

Ha a Form bal felső sarkában lévő ikonra kattintunk, akkor megjelenik az ún. rendszermenü, mely minden program esetén ugyanazokat a menüpontokat tartalmazza.
Ezt a menürendszert azonban tetszés szerint ki is egészíthetjük saját, egyedi menüpontokkal. Ehhez készítünk egy komponenst, mely képes arra, hogy egy TPopupMenu komponensben lévő menüpontokat hozzáfűzze a rendszermenühöz.

A mellékelt példaprogram megnyitása előtt az ExtSystemMenu.pas-ban lévő komponenst telepítenie kell a Delphi alá.
Kell tehát egy komponens, melynek van egy PopupMenu TPopupMenu típusú property-e. Ezen keresztül hozzákapcsolhatunk a komponenshez egy tetszőleges TPopupMenu komponenst. Amikor itt kiválasztunk egyet, akkor fut le a SetPopupMenu eljárás. Ebben az eljárásban fogjuk az új menüpontokat hozzáfűzni a rendszermenühöz, de csak abban az esetben, ha a programunk már fut.
A hozzáfűzéshez először a GetSystemMenu függvénnyel lekérdezzük a rendszermenü azonosítóját, majd egy ciklussal végigmegyünk a kapott TPopupMenu menüpontjain és az AppendMenu-vel hozzáadogatjuk őket. Fontos megjegyezni, hogy a TPopupMenu-ben található menüpontok esetén, csak azok Caption property-ét és az OnClick eseményüket érdemes felhasználnunk, mivel a komponens jelenlegi verziója más tulajdonságokat amúgy sem használ fel.
A komponens létrejöttekor elkapja a Form ablakkezelő eljárását és helyettesíti a sajátjával a NewWndProc-al. Erre azért van szükség, hogy érzékelni tudja a komponens, hogy mikor is választ a felhasználó egy-egy menüpontot a rendszermenüből. Természetesen a dolga végeztével meghívja az eltárolt, eredeti ablakkezelő eljárást, különben az egész program működésképtelenné válna.
Tehát figyelnünk kell, hogy mikor lesz rendszer menüpont kiválasztva. Ekkor a Windows egy a WM_SYSCOMMAND üzenetet generál. Ekkor meghatározzuk, hogy a kiválasztott menüpont melyik a sajátunk közül és ennek meghívjuk a Click eljárását, mely generálni fogja az OnClick eseményt a TPopupMenu adott menüpontjainál, amelyhez már tetszőleges funkciót rendelhetünk.

Cikksorozat

#IDKategóriaCikk címeSorozat
1488DelphiMS SQL tárolt eljárások1. rész
1499DelphiMS SQL tárolt eljárások2. rész
1507DelphiMS SQL tárolt eljárások3. rész
1519DelphiMS SQL tárolt eljárások4. rész
1526DelphiMS SQL tárolt eljárások5. rész
1537DelphiMS SQL tárolt eljárások6. rész
1546DelphiMS SQL tárolt eljárások7. rész
1553DelphiMS SQL tárolt eljárások8. rész
1564DelphiMS SQL tárolt eljárások9. rész
1573DelphiMS SQL tárolt eljárások10. rész
1582DelphiMS SQL tárolt eljárások11. rész
1591DelphiMS SQL tárolt eljárások12. rész
1600DelphiMS SQL tárolt eljárások13. rész
1609DelphiMS SQL tárolt eljárások14. rész
1617DelphiMS SQL tárolt eljárások15. rész
1626DelphiMS SQL tárolt eljárások16. rész


Könyv
Ez a cikk megtalálható ebben a könyvben: Delphi Software Offline 2002 évkönyv 501. oldal

Felhasználási feltételek
A Software Online szoftverfejlesztői magazin mindegyik cikke, minden megjelent képe, és egyéb publikált anyaga szerzői jog védelme alatt áll! Bármilyen formában történő másodlagos terjesztésük, közzétételük vagy felhasználásuk kizárólag a kiadó előzetes írásbeli engedélyével történhet!

Copyright © 1999-2012 Animare Software Kft. Minden jog fenntartva!
| Készült: Animare Stúdió | Adatvédelem | Kapcsolat |