Forgalomba egy alkalmazás ikonja a tálcán - Cikk

Gyakran a programozó szembesülnek a feladat, hogy írjunk egy alkalmazás fut a háttérben, és nem kell semmilyen helyet a tálcán. Ha megnézzük a jobb alsó sarokban a Windows asztal, akkor biztosan talál ott kérelmeket, amelyekre ez a probléma megoldódott: az óra, kapcsolja ki a billentyűzetkiosztást, hangerőszabályzó, stb Egyértelmű, hogy nem számít, mennyire növeli vagy csökkenti a forma a saját .. alkalmazást, hogy oda a szokásos módon fog működni. Ez módot ad a Shell API.

Azok a képek, amelyek a tálcán - ez tényleg csak egy kép, nem pedig a minimalizált ablakok. Ők irányítják és megsemmisíteni tálcán panel. Ő úgy két további funkció: kijelző tippeket az egyes ikonok és értesítések alkalmazás, amely létrehozta az ikonra, valamennyi mozgása az egeret.

Minden API tálcán áll egy (1) funkció:

DwMessage paraméter határozza meg valamelyik művelet: NIM_ADD hozzáadását jelenti egy ikon a területen, NIM_DELETE - eltávolítás, NIM_MODIFY - változás.

Proceedings működése attól függ, milyen mezők kitöltése TNotifyiconData szerkezetét. Kötelező mező mező cbsize - tartalmazza a szerkezet felbontás. Szél mező tartalmazza a kilincset az ablak kell eseményekre társított ikont. A Windows-üzenetet szeretne kapni a rendszer a mozgó egeret az ikon, írja uCallbackMessage területen. Ha azt szeretnénk, ha ezek a mozgások felett ikonok mutatják hegy, a szöveg a szTip területen. Az UID által meghatározott mező jelvény számát - minden alkalmazás lehet elhelyezni a tálcán annyi ikonok. További műveletek akkor fog, amelyben ezt a számot. Leíró elhelyezett ikonra kell határozni HICON területen. Itt lehet kiválasztani az ikonra, hogy az alkalmazáshoz tartozó, vagy töltse fel saját - forrás.

Megjegyzés. Változás a fő alkalmazás ikonjára lehet a Project / Options párbeszédablakban az alkalmazás weboldala. Ez lesz elérhető Application.Icon tulajdon. Itt is szerkesztheti és sor tippek - Application.Title tulajdon.

Végül a területen uFlags meg kell mondani a rendszert, amit szeretne, vagy más szóval, ami a HICON mezők uCaiibackMessage és szTip ténylegesen tölteni. Ez a mező kombinációja három zászló: NIF_ICON, NIF_MESSAGE és NIF_TIP. Akkor töltse ki, mondjuk, mező szTip, de ha nem jön létre NIF_TIP zászló ikont létrehozott nem lesz sorok tip.

Két alábbi szemléltetik az említett eljárás. Az első egy ikon a tálcán, és a második -, hogy elpusztítsa azt.

Megjegyzés: Ne felejtsük el, hogy elpusztítsa létrehozni ikonok a tálcán. Ez nem történik meg automatikusan, ha az alkalmazás befejeződik. Az ikon csak akkor lehet eltávolítani újraindítás után. Megjelenése egérikonnal minket a tálcán, nem különbözik a többi alkalmazás ikonok.

Üzenet adott uCallbackMessage a területen, sőt az egyetlen kapcsolat, ami összeköti az Ön számára egy ikon után jön létre. Egyesíti több üzenet. Ha jön egy ilyen üzenetet (a fenti példában, hogy van egy azonosítót WM_MYTRAYNOTIFY), a mezőn át a felvezető TMessage típusú szerkezetet úgy oszlanak. A wParam paraméter számát tartalmazza az ikonra (az egyik, hogy jött létre az UID, amikor jött létre), és lParam opció - .. Az üzenet azonosítója, az egér, mint WM_MOUSEMOVE, WM_LBUTTONDOWN, stb Sajnos, a többi információt ezeket az üzeneteket elveszett. egér koordinátáit idején az esemény lesz, hogy megtudja, hívja az API GetCursorPos funkció:

Felhívjuk figyelmét, hogy nem egyszerűen hívja felugró eljárás megjelenítésekor egy felugró menü. Tehát szükség van ahhoz, hogy a fő alkalmazási forma előtérbe, különben nem fog üzeneteket a menüben.

Most úgy döntünk, két feladatot. Először is, hogyan lehet egy alkalmazást a tálcára (tálcán), és a tálcán? És mi több -, hogyan kell futtatni egyszer egy minimalizált formában és a fő formája megjeleníteni csak egy bizonyos esemény (érkezése mail, a támadó bizonyos idő, stb ...).

A válasz az első kérdésre egyértelmű. Ha kis méretűre az ablakot, nem csak a fő alkalmazási forma (Application.MainForm.Handle), hanem az alkalmazás ablak (Application.Handle), akkor az alkalmazás teljesen eltűnnek „a radar képernyőjén.” Abban a pillanatban, akkor létre kell hozni egy ikon a tálcán panel. Annak előugró menüben, hogy az elem kiválasztásával, hogy mindkét ablakok helyreáll, és az ikon eltűnik.

Az alkalmazás futtatásához egyszer egy minimalizált formában és anélkül, hogy a fő formája, akkor kell hozzá, hogy a fenti, a telepítés az ingatlanok Application.showMainForm False. Itt az egyik komplexitás adódik - ha a fő forma jön létre egy láthatatlan állapotban, annak elemeit is láthatatlanná tehető. Ezért az első show állítsa őket látható tulajdonságot True. Annak érdekében, hogy ne ismételje meg kétszer, meg a zászló - egy globális változót shownonce: