主菜单的顶层菜单项click时动态创建其子菜单并pop出来解决方法
主菜单的顶层菜单项click时动态创建其子菜单并pop出来
目前项目用delphi,我在数据库版赚的分都花费在delphi,分少了点,别在意哦
主菜单“窗口”项,click时动态生成当前已打开的窗体的caption
procedure TFrmStart.N4Click(Sender: TObject);
var
popItem:TMenuItem;
i:integer;
frmCap:string;
begin
n4.Clear;// n4.Items.Clear 会报错,用n4.Clear;没任何效果
for i:=0 to screen.FormCount-1 do
begin
frmCap:=screen.Forms[i].Caption;
popItem:=TMenuItem.Create(self);
popItem.Tag:=i;
popItem.Caption:=frmCap;
n4.Add(popItem);
end;
end;
------解决方案--------------------
我的办法是
1 首先你应当在N4下边放一个子菜单,作为一个占位,比如增加一个
"全部关闭"或者"下一个窗口"
这里我假设增加了一个 "全部关闭 "子菜单
2 在N4Click不要用clear,否则会弹不出东西来的
var
popItem: TMenuItem;
i: integer;
frmCap: string;
begin
while N4.Count> 1 do
N4.Remove(N4.Items[1]);
//如果你使用了两个占位菜单,比如一个"全部关闭"一个分割线,这里就用2替换上边代码中的1
for i := 0 to screen.FormCount - 1 do
begin
frmCap := screen.Forms[i].Caption;
popItem := TMenuItem.Create(self);
popItem.Tag := i;
popItem.Caption := frmCap;
n4.Add(popItem);
end;
end;
或许有其它办法,我不太清楚
目前项目用delphi,我在数据库版赚的分都花费在delphi,分少了点,别在意哦
主菜单“窗口”项,click时动态生成当前已打开的窗体的caption
procedure TFrmStart.N4Click(Sender: TObject);
var
popItem:TMenuItem;
i:integer;
frmCap:string;
begin
n4.Clear;// n4.Items.Clear 会报错,用n4.Clear;没任何效果
for i:=0 to screen.FormCount-1 do
begin
frmCap:=screen.Forms[i].Caption;
popItem:=TMenuItem.Create(self);
popItem.Tag:=i;
popItem.Caption:=frmCap;
n4.Add(popItem);
end;
end;
------解决方案--------------------
我的办法是
1 首先你应当在N4下边放一个子菜单,作为一个占位,比如增加一个
"全部关闭"或者"下一个窗口"
这里我假设增加了一个 "全部关闭 "子菜单
2 在N4Click不要用clear,否则会弹不出东西来的
var
popItem: TMenuItem;
i: integer;
frmCap: string;
begin
while N4.Count> 1 do
N4.Remove(N4.Items[1]);
//如果你使用了两个占位菜单,比如一个"全部关闭"一个分割线,这里就用2替换上边代码中的1
for i := 0 to screen.FormCount - 1 do
begin
frmCap := screen.Forms[i].Caption;
popItem := TMenuItem.Create(self);
popItem.Tag := i;
popItem.Caption := frmCap;
n4.Add(popItem);
end;
end;
或许有其它办法,我不太清楚