Definiți numărul elementului de meniu

Definiți numărul elementului de meniu

Creez programat un meniu. Mă încurc în meniul popup numele discurilor disponibile (în prealabil nu se știe câte dintre ele). Cum să aflați ce element de meniu a fost selectat, de preferință într-o singură procedură de procesare?

Creez o procedură de procesare, la care trimit clicuri din toate punctele. tip:

procedura TForm1.popClick (expeditor: TObject);
începe
dacă expeditorul = b, atunci showmessage ("b"); // este apăsat elementul cu un nume b
în cazul în care expeditorul = un showmessage ("a"); // apăsați elementul numit a
se încheie;

desigur, cu un număr mare de articole care trebuie indexate.

Da, dar numele "a" și "b" sunt necunoscute înainte de creație. Aceste elemente de meniu nu sunt disponibile atunci când
compilație, iar dacă încercați să comparați expeditorul = a, veți primi o eroare "Identificator nedeclarat:" a. "Puteți vedea mai clar codul?

procedura tmain.ddd (expeditor: tobject);
începe
dacă expeditor = c1 apoi showmessage ("Disk selectați "); // So.
se încheie;

um. în opinia mea, trebuie să creați un NewItem.Name (de exemplu, a)

Aveți NewItem.Caption a doua literă este numele discului, acest lucru este suficient pentru identificare

Și puteți încerca să utilizați proprietatea Tag!

Întotdeauna am folosit proprietatea TAG în astfel de cazuri. Și în funcție de numărul de puncte, știam exact ce a făcut clic. (pentru toate articolele o singură procedură de procesare) În această procedură:

caz (expeditor ca TComponent)
1: // prelucrarea discului B
2: // - / - C
.

Articole similare