for (int i=0;i<2;i++)
{TMenuItem *NewItem = new TMenuItem(File);
File->Insert(i+2,NewItem);
NewItem->Caption = IntToStr(i);
NewItem->Tag = i;
NewItem->OnClick = ItemNameClick;
}
Определение объекта
Вообщем, проблема в следующем:
1) Динамически создаются пункты меню
2) При нажатии на эти пункты срабатывает функция
3) Надо определить по какому именно элементу щелкнули
Source file:
Код:
Header file^
Код:
private:
void __fastcall ItemNameClick(TObject *Sender);
void __fastcall ItemNameClick(TObject *Sender);
Чо делать дальше юбез понятия..
Насколько я понял Sender может сказать только о компоненте, но не о объекте..:x
if((TMenuItem *)Sender)->Tag==...)
или более безопасно
TMenuItem *mi;
if((mi = dynamic_cast<TMenuItem *>(Sender))!=0)
{
switch(mi->Tag)
...