Zdażenia OnClick dynamicznie utworzonych itemów PopupMenu

dział ogólny

Zdażenia OnClick dynamicznie utworzonych itemów PopupMenu

Nowy postprzez marekgajewski » czwartek, 18 marca 2010, 15:16

Witam!
Mam następujący problem:
Wraz ze startem programu tworzę dynamicznie komponenty TListView, TPopupMenu i inne. Następnie zależnie od wybranej przez użytkownika konfiguracji wczytywane są z wybranego pliku .xml dane itemów menu kontekstowego.
Mam mniej więcej coś takiego w pętli (tylko wszystko jest wczytywane z pliku konfiguracyjnego):
Kod: Zaznacz cały
JakisItem[i] = new TMenuItem(Form1);
JakisItem[i]->Visible = True;
JakisItem[i]->Caption = "To tylko przykład";
JakisItem[i]->OnClick = Form1->OpenForm;


a przed tym wszystkim deklaracja:
Kod: Zaznacz cały
TMenuItem *JakisItem[10];


Pierwszym problemem jest to, że nie wiem ile itemów zażyczył sobie użytkownik w danym menu kontekstowym, a liczba zmiennych w tablicy musi być przecież podana przed kompilacją programu, więc nie mogę utworzyć ich tyle ile naliczę w pliku konfiguracyjnym. To jest jeden z problemów, na których rozwiązanie nie mogę wpaść.
Drugim problemem jest to, że np: dwa itemy wykonują przy OnClick tą samą procedurę, powiedzmy OpenForm. Informacje jaką czynność mają wykonać odczytują z pliku konfiguracyjnego, gdzie wygląda to mniej więcej tak: 'OpenForm::ItemInfo'. Nie wiem jak w procedurze Form1->OpenForm odczytać który item został kliknięty i który formularz ma utworzyć.
Jeśli coś napisałem niezrozumiale, proszę o informacje co mam dokładniej opisać :)
Z góry wielkie dzięki za pomoc.
Avatar użytkownika
marekgajewski
Bladawiec
Bladawiec
 
Posty: 11
Dołączył(a): środa, 10 marca 2010, 05:19
PodziÄ™kowaÅ‚ : 0
OtrzymaÅ‚ podziÄ™kowaÅ„: 0
System operacyjny: Windows 7 Pro x64
Kompilator: C++ Builder 2010
Gadu Gadu: 0
    Windows 7Firefox

Re: Zdażenia OnClick dynamicznie utworzonych itemów PopupMenu

Nowy postprzez wargo » piÄ…tek, 19 marca 2010, 14:25

marekgajewski napisał(a):Nie wiem jak w procedurze Form1->OpenForm odczytać który item został kliknięty i który formularz ma utworzyć.

Możesz do tego celu wykorzystać np. to:
http://cyfbar.republika.pl/teor12.htm
Avatar użytkownika
wargo
Mądrosław
Mądrosław
 
Posty: 389
Dołączył(a): niedziela, 13 lipca 2008, 16:44
PodziÄ™kowaÅ‚ : 12
OtrzymaÅ‚ podziÄ™kowaÅ„: 3
System operacyjny: Windows 7
Kompilator: C++ Builder 6 Personal
Gadu Gadu: 6259515
    WindowsMozilla


  • Podobne tematy
    Odpowiedzi
    Wyświetlone
    Ostatni post

Powrót do Ogólne problemy z programowaniem

Kto przeglÄ…da forum

Użytkownicy przeglądający ten dział: Brak zalogowanych użytkowników i 15 gości

cron