personalizare meniu dinamic

Pentru a crea un meniu, și de a schimba în procesul de dezvoltare a aplicatiilor in Delphi proiectat Meniu Designer (Meniu Designer). Lansarea meniului torus constructive se poate face pe comanda de meniu Designer (Meniu Designer) meniul contextual MainMenu sau PopupMenu componente, precum și în putere dublu-clic pe aceleași componente. una Pre aceste componente trebuie adăugate la forma. Să ne amintim că com-MainMenu și PopupMenu piesele originale plasate pe pagina Standard (Standard) componente paletă.

La proiectarea unui meniu, puteți muta, de asemenea, meniurile cursorul mouse-ului si sub-meniuri prin tehnologia drag-and-drop. Folosit împreună cu co-Object Inspector meniu de designer vă permite să controlați proprietățile elementelor individuale de meniu. În special, numele elementului de meniu este definit prin atribuirea valoarea dorită a proprietății sale legendă.

Utilizarea Designer pentru a crea și configura meniuri pentru a crea în curs cererii. În plus, meniul, puteți crea sau modifica dinamic direct în timpul rulării. De exemplu, este posibil:

  • a crea un nou meniu de orice tip sau să îl ștergeți;
  • bloca sau debloca punctele individuale;
  • face un element de meniu este vizibil sau invizibil;
  • adăugați sau eliminați un element din meniu;
  • schimba numele elementului;
  • instalați sau debifați elementul;
  • pentru a trece de la o formă la un alt meniu principal.

Aceste caracteristici sunt furnizate de setarea proprietăților de elemente setări Tre-Buemi, și de apel metodele adecvate.

Pentru a adăuga elemente de meniu folosind metoda Add și insertul, pentru elementele de meniu Oud-ment utiliza metoda Delete.

Adăugați Procedura (element: TMenuitem) adaugă un element de element parametru definit la sfârșitul submeniul care a cauzat această metodă. Dacă un submeniu nu există, este creat.

Exemplu. Adăugarea unui element de meniu.

Procedura Forml.mnuItemAddClick (Expeditor: TSender);

var Newltem. TMenuitem;

NewItem.Caption: = 'Articol nou';

se încheie; Pentru a adăuga un element nou este produs la sfârșitul listei de comenzi meniu de fișiere. Adaugă un element are un element nou titlu. Pre-Creați un nou element este creat de proiectant.

Procedura Inserare (Index: Integer; Postul: TMenuItem). Spre deosebire de metoda anterioară, se adaugă un nou element de meniu în poziția specificată. parametru indicele specifică poziția în matrice de elemente de meniu, care se introduce într-un nou alineat. Dacă valoarea parametrului index este în afara intervalului acceptabil de pre-LY, de exemplu, mai mult decât numărul de sub-elemente ale elementului de meniu modificat, există o situație excepțională.

Procedura Delete (index: număr întreg) elimină elementul de meniu specificat. Dacă ștergeți elementul are sub-elemente, ele sunt, de asemenea, eliminate.

Exemplu. Ștergerea unui element de meniu.

Procedura Forml.mnuItemDeleteClick (Expeditor: TSender);

dacă mnuFile.Items [2] .Caption = 'al doilea element'

apoi mnuFile.Delete (2); se încheie;

Procedura șterge elementul din meniul File. Elementul îndepărtat este titlul celui de al doilea element și se află la cea de a doua poziție. Cu verificări preliminare, dacă eliminat elementul cu numele corect.

Forma poate avea mai mult de una din meniul principal. Este folosit, de exemplu, atunci când unul dintre ele conține titlurile în limba engleză, iar celălalt - în limba rusă. Pentru a realiza această posibilitate, forma pistei este de a plasa cele două componente și să facă corespunzătoare MainMenu UI nud. După aceea, în cazul în care programul poate fi conectat pentru a forma oricare dintre aceste meniuri. Pentru a vă conecta la forma principala utilizare este-proprietate meniu formă de meniu.

Exemplu. Comutarea între cele două meniuri principale.

dacă Forml.Menu = EnglishMenu

apoi Forml.Menu: = RussianMenu altceva Forml.Menu: = EnglishMenu;

Meniu au nume EnglishMenu și RussianMenu. Codul de a face meniul NE-comutare poate fi comutată la tratare corespunzătoare.

Să ne amintim că meniul este una dintre proprietățile formei, indicând meniul principal, care este activ în prezent.