Titkok az ikonok a tálcán

Tehát, ez a második része az én kis „epikus”, elkötelezett az ikon a tálcán.

Ma megnézzük, és megtanulják, hogyan kell kezelni a következő kérdéseket:
1. hozzáadása előugró menüben az ikon?
2. Hogyan lehet elrejteni a fő formája az alkalmazás induláskor, és pokazyvaet csapata előugró menüben.

A korszerűsítési program befejeződik. A fő formája kellene kinéznie:

Most térjünk rá a meghatározott kérdésekben az elején ezt a cikket.

Ezután írjunk kódok rakodók kattintással eseményeket az egyes menüpontok:

Válassza ki a „Névjegy” lapon:
eljárás TForm1.PAboutClick (Sender: TObject);
kezdődik
// A fő formája nyílt területen az „A”
AboutClick (Form1); // az eljárás végrehajtásához kattintson a „Névjegy” gombra
Form1.Show; // És ez ezen a vonalon, megmutatjuk
// fő alkalmazási forma.
Form1.Activate; //..i aktiválni :)
végén;

"Options":
eljárás TForm1.PSettingsClick (Sender: TObject);
kezdődik
// Leírás legyőzte fenti :)
Form1.Show;
Form1.Activate;
végén;

„Kilépés”:
eljárás TForm1.PExitClick (Sender: TObject);
kezdődik
Bezárás; // normális kilépés a programból.
végén;

És most mi lesz, hogy a legfontosabb és a legérdekesebb dolog: hogy Étlapunkon „float” az ikonra, miközben nyomja a jobb egérgombbal, és a fő formája „show” duplán kattintva a bal egérgombbal.

találni IconCallBackMessage eljárást, és frissíteni, a forráskód a program úgy nézett ki az alábbiak szerint:

eljárás TForm1.IconCallBackMessage (var Mess TMessage.);
var Egér: TMouse;
kezdődik
esetében Mess.lParam a
// Itt tudja kezelni az összes esemény zajlik az ikonra :)
// A fő formája, én konkrétan helyezte a két védjegy, amelyben
// esetén egy esemény lesz írva, hogy pontosan mi történt :)
// De most a második részben az egyes események történhetnek
// tényleges folyamatokat.
WM_LBUTTONDBLCLK. // Folyamat a dupla kattintás az egér bal gombjával.
kezdődik
PSettingsClick (Form1); // végre a „Beállítások” menüpont alatt.
végén;
WM_LBUTTONDOWN. TI_Event.Caption: = 'bal kattintson';
WM_LBUTTONUP. TI_Event.Caption: = „erőltetett le a bal egérgombot”;
WM_MBUTTONDBLCLK. TI_DC.Caption: = „Kattintson duplán a középső egérgombbal”;
WM_MBUTTONDOWN. TI_Event.Caption: = „gombra kattintva a középső egérgombbal”;
WM_MBUTTONUP. TI_Event.Caption: = „erőltetett le a középső egérgombbal”;
WM_MOUSEMOVE. TI_Event.Caption: = 'egér mozog';
WM_MOUSEWHEEL. TI_Event.Caption: = „A forgatás az egér kerék„;
WM_RBUTTONDBLCLK. TI_DC.Caption: = 'duplán a jobb gombbal;
WM_RBUTTONDOWN. TI_Event.Caption: = 'Jobb klikk';
WM_RBUTTONUP. // fogantyú jobb gombbal kattintva.
kezdődik
PopupMenu.Popup (Mouse.CursorPos.x, Mouse.CursorPos.y);
// kényszeríteni a „float” Étlapunkon :)
végén;
végén;
végén;

Mivel az első esemény duplán kattintva a bal egérgombbal biztosan ez világos - nem hívja az eseménykezelő egérgombbal a „Beállítások” menüpont alatt.
De, hogy a jobb klikk talán nehezebb, nem? Nos, minden rendben:
A legelején az eljárás kijelentjük, az objektum típusa Mouse TMouse. Ahhoz, hogy később használja, hogy megtudja a koordinátákat az egér a képernyőn.
Ezután írjuk be a következő sort:
PopupMenu.Popup (Mouse.CursorPos.x, Mouse.CursorPos.y);
Jelentése egyszerű. Popup módszert alkalmazzák, hogy megjelenjen a menü képernyőn egy adott ponton. Ez az, ahol jól jön objektum egér. alkalmazásával, amelynek tulajdonságai ismerjük a koordinátáit az egeret a képernyőn, miközben lenyomva tartja az egér jobb gombjával.
De a „Felugró ablakok” menüben van még egy árnyalatot. Ha most minden hagyjuk a dolgokat, ahogy vannak, akkor „lefagy” a veszteség hangsúly - azaz, Csak nem fog eltűnni. Hogy megoldja ezt a hibát a eseménykezelő OnPopup Étlapunkon adja meg a következőket:
SetForegroundWindow (Form1.Handle);
Így adja meg, hogy a hatóanyag a fő formája a mi alkalmazás (még ha ez nem látható). És amikor váltás az alkalmazások között, akkor elveszti aktivitását, és ebből következően a pop-up menü eltűnik a szemünk elől, mert Ez egy leányvállalata tárgy, milyen formában.

Ez alapvetően minden :). ah, igen. teljesen feledésbe merült. Az elején, mi változott a felirat a korábbi gomb bezárja az alkalmazást a „Hide”, azaz Ha most megnyomja az szükséges, hogy a fő alkalmazási forma „rejtett”. Nos, ez történik egyszerűen az eseménykezelő a gomb megnyomása adjon meg egy sort:
Form1.Hide;
És most ez az egész! Remélem, hogy olvassa el ezt a cikksorozatot akkor egyre könnyebb és könnyebb megérteni az alapokat, amelyekkel az alkalmazás ikonjára a tálcán :)
A forráskód a cikket ide kattintva tölthető le.