Gyvenimas

Kaip rodyti meniu punkto patarimus „Delphi“ programose

Kaip rodyti meniu punkto patarimus „Delphi“ programose


We are searching data for your request:

Forums and discussions:
Manuals and reference books:
Data from registers:
Wait the end of the search in all databases.
Upon completion, a link will appear to access the found materials.

Norėdami programuoti „Delphi“ programas, naudokite specialią kodavimo kalbą, kad būtų pateiktas užuomina arba patarimas, kai pelė užveskite pelę virš meniu komponento. Jei „ShowHint“ ypatybė nustatyta kaip „true“, o jūs pridedate tekstą prie „užuominos“ ypatybės, šis pranešimas pasirodys, kai pelė uždedama ant komponento (pavyzdžiui, „TButton“).

Įgalinti meniu elementų patarimus

Dėl „Windows“ projektavimo būdo, net jei užuominos ypatybę nustatysite kaip meniu elementą, iššokantis užuomina nebus rodomas. Tačiau „Windows“ pradžios meniu elementuose pateikiamos užuominos. „Internet Explorer“ parankinių meniu taip pat pateikiamos patarimai apie meniu elementus.

„Delphi“ programose galima naudoti „OnHint“ visuotinio taikymo kintamojo įvykį, kad būsenos juostoje būtų rodomi meniu elementų patarimai.

„Windows“ neatskleidžia pranešimų, reikalingų palaikyti tradicinį „OnMouseEnter“ įvykį. Tačiau WM_MENUSELECT pranešimas siunčiamas, kai vartotojas pasirenka meniu elementą.

„TCMtomForm“ („TForm“ protėvis) „WM_MENUSELECT“ įgyvendinimas nustato meniu punkto užuominą į „Application.Hint“, kad ją būtų galima naudoti „Application.OnHint“ įvykyje.

Jei norite pridėti meniu elementų iššokančius patarimus (patarimus) prie savo „Delphi“ programos meniu, sutelkite dėmesį į „WM_MenuSelect“ pranešimą.

„Popup“ patarimai

Kadangi negalite pasikliauti „Application.ActivateHint“ metodu, kad pateiktumėte meniu elementų užuominų langą (kadangi meniu visiškai tvarko „Windows“), norėdami gauti užuominų langą, turite sukurti savo užuominų lango versiją, sukurdami naują klasę. iš „THintWindow“.

Štai kaip sukurti „TMenuItemHint“ klasę. Tai yra našlių užuomina, kuri iš tikrųjų rodoma meniu elementams!

Pirmiausia turite tvarkyti „WM_MENUSELECT“ „Windows“ pranešimą:

tipo
TForm1 = klasė(TForm)

privatus
procedūra „WMMenuSelect“ (var Msg: TWMMenuSelect); žinutė WM_MENUSELECT;
pabaiga
įgyvendinimas

procedūra
TForm1.WMMenuSelect (var Msg: TWMMenuSelect);
var
menuItem: TMenuItem; „hSubMenu“: HMENU;
prasideda

paveldėtas; // iš „TCustomForm“ (kad priskirtų „Application.Hint“)
menuItem: = nulis;
jei („Msg.MenuFlag $ FFFF“) arba (Msg.IDItem 0) tada
prasideda
jei Msg.MenuFlag ir MF_POPUP = MF_POPUP tada
prasideda
hSubMenu: = GetSubMenu (Msg.Menu, Msg.IDItem);
menuItem: = „Self.Menu.FindItem“ („hSubMenu“, „fkHandle“);
pabaiga
Kitas
prasideda
menuItem: = Self.Menu.FindItem (Msg.IDItem, fkCommand);
pabaiga;
pabaiga; „miHint.DoActivateHint“ („menuItem“);
pabaiga
; (* „WMMenuSelect“ *)

Greita informacija: WM_MENUSELECT pranešimas siunčiamas į meniu savininko langą, kai vartotojas pasirenka meniu elementą (bet nespustelėja). Naudodami „TMenu“ klasės „FindItem“ metodą, galite gauti šiuo metu pasirinktą meniu elementą. Funkcijos „FindItem“ parametrai yra susiję su gauto pranešimo ypatybėmis. Kai žinome, kurį meniu elementą uždėjo pelė, vadiname „TMenuItemHint“ klasės „DoActivateHint“ metodu. „MiHint“ kintamasis yra apibrėžtas kaip „var miHint: TMenuItemHint“ ir yra sukurtas formos „OnCreate“ įvykių apdorojimo priemonėje.

Dabar liko „TMenuItemHint“ klasės įgyvendinimas.

Čia yra sąsajos dalis:

TMenuItemHint = klasė(„ThintWindow“)
privatus

activeMenuItem: TMenuItem;
showTimer: TTimer;
hideTimer: TTimer;
procedūra „HideTime“ (Siuntėjas: „TObject“);
procedūra „ShowTime“ (siuntėjas: „TObject“);
viešai

konstruktorius Kurti („AOwner: TComponent“); nepaisyti;
procedūra „DoActivateHint“ (meniu elementas: „TMenuItem“);
naikintojas Sunaikink; nepaisyti;
pabaiga
;

Iš esmės „DoActivateHint“ funkcija iškviečia „THintWindow“ „ActivateHint“ metodą, naudodama „TMenuItem's Hint“ ypatybę (jei ji priskirta). „ShowTimer“ yra naudojamas siekiant užtikrinti, kad programos užuominos pauzė pasibaigtų prieš pateikiant užuominą. „HideTimer“ naudoja „Application.HintHidePause“, kad paslėptų užuominų langą po nurodyto intervalo.

Meniu elemento patarimų naudojimas

Nors kai kurie gali sakyti, kad meniu elementų patarimų rodymas nėra geras dizainas, yra situacijų, kai iš tikrųjų meniu elementų patarimų rodymas yra daug geresnis nei būsenos juostos naudojimas. Vienas iš tokių atvejų yra neseniai naudotas (MRU) meniu elementų sąrašas. Dar vienas yra pasirinktinės užduočių juostos meniu.



Komentarai:

  1. Knocks

    Atsiprašau, bet, mano nuomone, jūs pripažįstate savo klaidą. Rašyk man į PM.

  2. Moogujas

    Tai nuostabu!

  3. Forde

    Yra visiškai veltui.

  4. Akijind

    It agree, very good piece

  5. Tale

    It's shame!



Parašykite pranešimą