如何在C ++ Builder中选择停靠的VCL表单

时间:2018-12-29 08:05:22

标签: c++builder vcl

我在C ++ Builder中有一个VCL Forms应用程序。我有一个带有四个对接TPageControl的主表单。该程序是一个图形绘制程序,可以将图像打开为自己的VCL形式,可以将其停靠在TPageControl上以进行并排查看。停放VCL表单后,用鼠标选择它会使底层主表单成为ActiveForm

如何选择停靠的VCL表单并将其设置为ActiveForm?我需要知道选择了哪种对接VCL形式,以便可以处理正确的图像。

为了进行测试,我使用下面的循环在TListBox中显示所有VCL表单名称,并在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
    }
  }
}

0 个答案:

没有答案