我在MDI主窗体中有一个“窗口”菜单 ,要完成这样的功能,里面有几项 水平平铺/垂直平铺/重叠
想让MDI子窗体完成 水平平铺/垂直平铺/重叠 这样的功能。
请问该怎么做?
还有,我想在每打开一个子窗体的时候,在“窗口”这个菜单中加多一项,
该项显示些窗体的名字,点击的时候可以将表示的这个窗体激活。
打开多个子窗体后,在“窗口”这个菜单中就有多项,各表示不同的窗体,
请问这样的功能如何实现呢。
请指教。谢谢!
解决方案 »
- Delphi中有类似于C#中的ArrayList类的类吗?
- 请问delphi中有没有一种结构,象c语言中的联合(union)一样?
- shadowfish(<)<-<-<<死鱼<)<-<-<) 来拿分!
- 请教一个问题。
- Delphi的封装?有点跌眼镜!! :)
- 关于托盘的问题
- 如何在控件内部创建窗体?
- 在access数据库中,如何使用sql语句进行时间字段的计算,例如:select * from table where date_<"x" (x,代表昨天的时间)
- 请问用WordDocument和WordApplication控件如何实现生成以下的WORD文档效果,是不是很难?谢谢.
- delphi6注册问题
- 一一对应的问题,在线等大虾
- 如何让用adoquery从数据库里找出的某列数据按列顺序依次赋给变量?
Application.MainForm.Cascade;
Application.MainForm.ArrangeIcons;
begin
GetForm(Target).Cascade;
end;{ TWindowTileHorizontal }procedure DoTile(Form: TForm; TileMode: TTileMode);
const
TileParams: array[TTileMode] of Word = (MDITILE_HORIZONTAL, MDITILE_VERTICAL);
begin
if (Form.FormStyle = fsMDIForm) and (Form.ClientHandle <> 0) then
SendMessage(Form.ClientHandle, WM_MDITILE, TileParams[TileMode], 0);
end;procedure TWindowTileHorizontal.ExecuteTarget(Target: TObject);
begin
DoTile(GetForm(Target), tbHorizontal);
end;{ TWindowTileVertical }procedure TWindowTileVertical.ExecuteTarget(Target: TObject);
begin
DoTile(GetForm(Target), tbVertical);
end;
TileHorizontally和TileVertically和Cascade 不用写任何代码就可完成。
TileMode := tbHorizontal;
tile;
垂直:
TileMode := tbVertical;
tile;
重叠:
cascade;