MDI窗体的菜单管理
?
?
?
bool OpenForm(TForm *form){ int i; bool formExist; if(form==NULL) return false; formExist = false; for(i=0;i<Screen->FormCount;i++) { if(Screen->Forms[i]->ClassType() == form->ClassType()) { formExist = true; break; } } if(formExist == false) return formExist; //如果此Form已经被创建起来 //再判断此Form状态是否在最小化状态或隐藏状态 //如果是,则把Form显示出来 if(form->WindowState==wsMinimized) ShowWindow(form->Handle,SW_SHOWNORMAL); else ShowWindow(form->Handle,SW_SHOWNA); if(!form->Visible) form->Visible=true; //把光标的焦点转移到此Form上 form->BringToFront(); form->SetFocus(); return true;}//---------------------------------------void __fastcall TfmMain::N2Click(TObject *Sender){ //动态创建子窗口 if(OpenForm(Form1)==false) Form1 = new TForm1(Application); }//---------------------------------------void __fastcall TfmMain::ToolButton1Click(TObject *Sender){ //重叠窗体 Cascade();}//---------------------------------------void __fastcall TfmMain::ToolButton2Click(TObject *Sender){ //非重叠显示 Tile(); }//---------------------------------------void __fastcall TfmMain::ToolButton3Click(TObject *Sender){ //所有子窗口最小化 for(int i=this->MDIChildCount-1;i>=0;i--) { this->MDIChildren[i]->WindowState = wsMinimized; }}//---------------------------------------void __fastcall TfmMain::ToolButton4Click(TObject *Sender){//关闭所有子窗口 for(int i=this->MDIChildCount-1;i>=0;i--) { this->MDIChildren[i]->Close(); }}//---------------------------------------void __fastcall TfmMain::ToolButton5Click(TObject *Sender){ Application->Terminate(); //this->Close();}