void __fastcall TMain::AClick(TObject *Sender)
{
//
..
}
...
void __fastcall TMain::FormCreate(TObject *Sender)
{
...
SetCurrentDir(ExePath+"\\Language");
TSearchRec sr;
int iAttributes = 0;
iAttributes |= faAnyFile;
if (FindFirst("*.ini", iAttributes, sr) == 0)
{
do
{
if ((sr.Attr & iAttributes) == sr.Attr)
{
TMenuItem* NewItem = new TMenuItem(Language1);
NewItem->Caption = sr.Name;
Language1->Add(NewItem);
NewItem->RadioItem = True;
NewItem->OnClick = AClick;
}
} while (FindNext(sr) == 0);
FindClose(sr);
}
....
}
Динамически создаваемое меню
Код:
Как вы поняли при создание главной формы в каталоге Language ишется языковый файл и добавляется в меню
А событие AClick срабатывает при клике на появившееся динамическое меню.
Проблема в том как разделить события скажем, если кликнули по English.ini или по Russian.ini?
Заранее спасибо!
Код:
void __fastcall TMain::AClick(TObject *Sender)
{
//
ShowMessage(dynamic_cast<TMenuItem *> (Sender)->Caption);
}
{
//
ShowMessage(dynamic_cast<TMenuItem *> (Sender)->Caption);
}