У меня есть приложение VCL Forms в C ++ Builder.У меня основная форма с четырьмя стыковками TPageControl
.Программа представляет собой программу для рисования графики, которая может открывать изображения в их собственной форме VCL, которую можно закрепить на TPageControl
для одновременного просмотра.Когда форма VCL пристыкована, выбор ее с помощью мыши делает основную основную форму ActiveForm
.
Как выбрать закрепленную форму VCL и сделать ее ActiveForm
?Мне нужно знать, какая закрепленная форма VCL выбрана, чтобы я мог управлять правильным изображением.
Для тестирования я использую цикл ниже, чтобы отобразить все имена форм VCL в TListBox
и показать имя ActiveForm
в TEdit
.Этот код находится в событии кнопки в главной форме.Я могу выбрать свободно плавающую форму VCL и сделать ее ActiveForm
, но не закрепленной формой VCL.
void __fastcall TMainForm1::Button3Click(TObject *Sender)
{
ListBox1->Items->Clear();
Edit1->Text="";
UnicodeString n="";
int C = Screen->FormCount;
for( int i = 0; i < C; ++i )
{
TForm* form = Screen->Forms[i];
n = form->Name;
ListBox1->Items->Add(form->Name); //List all Form Names
if( Screen->ActiveForm == form ){
Edit1->Text = form->Name; //Active Form Name
}
}
}