读书人

怎么在打Mdi窗口主窗的MainMeun

发布时间: 2012-03-13 11:21:11 作者: rapoo

如何在打Mdi窗口主窗的MainMeun增加一菜按扭
如何在打Mdi窗口主窗的MainMeun增加一菜按扭

主窗的MainMenu有

XXXX XXXXX Windows
XXXX XXXX
XXXX XXX
XXXX XXXX


在Windows的MenuItem下 增加一以MDI窗的名的MenuItem
相MenuItem 的MDI窗示到最前面

高手指教!!!!

[解决办法]
//TForm1 MDI主窗体类
//TForm2 MDI子窗体类

procedure TForm1.mFormClick(Sender: TObject);
var
FormName : string;
begin
FormName := TMenuItem(Sender).Caption;
TForm2(Form1.FindComponent(FormName)).Show;
end;

procedure TForm1.Button1Click(Sender: TObject);
var
M : TMenuItem;
begin
MainMenu1.AutoHotkeys := maManual;
with TForm2.Create(self) do
begin
M := TMenuItem.Create(self);
M.Caption := Name;
M.OnClick := mFormClick;
MainMenu1.Items[2].Add(M);
Show;
end;
end;
[解决办法]
procedure OpenForm(FormClass: TFormClass; var fm; AOwner: TComponent);
var
i:integer;
Child:TForm;
begin
for i:= 0 to Screen.FormCount-1 do
if Screen.Forms[i].ClassType=FormClass then
begin
Child:=Screen.Forms[i];
if Child.WindowState=wsMinimized then
ShowWindow(Child.handle,SW_SHOWNORMAL)
else
ShowWindow(Child.handle,SW_SHOWNA);
if (not Child.Visible) then Child.Visible:=True;
Child.BringToFront;
Child.Setfocus;
TForm(fm):=Child;
exit;
end;
Child:=TForm(FormClass.NewInstance);
TForm(fm):=Child;
Child.Create(AOwner);
Child.Show;
end;

读书人网 >.NET

热点推荐