CBuilder TMenu отображается не в том месте
У меня есть форма, которую нужно встроить в другую форму. Я размещаю на
TCard
:
EmbeddedForm->Parent = ACard;
EmbeddedForm->BorderStyle = bsNone;
EmbeddedForm->Align = alClient;
EmbeddedForm->Show();
Все работает хорошо, за исключением того, что меню на панели смещены туда, где они были бы, если бы форма располагалась в верхнем левом углу экрана. Чтобы было понятно, меню отображается в нужном месте на
EmbeddedForm
, но при нажатии подменю оказывается не в том месте.
Я пробовал изменить
DrawItem
событие, но пока я не могу назвать базовый класс
DrawItem()
как это
protected
:
void __fastcall TEmbeddedForm::File1DrawItem(TObject *Sender, TCanvas *ACanvas, TRect &ARect, bool Selected)
{
ARect.Left = MainMenu1.Left; // or some other calculation, not important yet
ARect.Top = MainMenu1.Top;
// ??? how to do normal drawItem from here?
}
Думаю, либо самому нарисовать (не хочу), либо как-то объяснить
TMainMenu
где он находится на самом деле (предпочтительное решение).