在MDI窗体下怎么判断要打开的窗体是否已打开
时间:2011-10-08
来源:互联网
Delphi(Pascal) code
if (ChildForm[n,0] <> EmptyStr) and (ChildForm[n,0] = 'base') then begin TForm(BplForm).BringToFront; //这个bpl是字符串,就是内存地址出错,自己测试用的 Abort; end;
作者: moshao6 发布时间: 2011-10-08
作者: bdmh 发布时间: 2011-10-08
var ps: array[0..254] of Char; hChild:HWND; begin hChild:= GetWindow(ParentWnd, GW_CHILD); // 取得第一個子視窗,ParentWnd:主窗口句柄 while hChild<> 0 do begin if IsWindowVisible(hChild) then begin GetClassName(hChild,ps, 255); if SameText(StrPas(ps[0]),'你的子窗口类名') then // 如果类名相同就置前 begin SetForegroundWindow(hChild); exit; end; end; hChild:=GetWindow(ParentWnd, GW_HWNDNEXT); // 取得下一個 siblings 視窗 end; //如果没有就直接创建 end;
作者: m617105 发布时间: 2011-10-08
如果存在证明打开,否则则未打开
作者: liubinhua 发布时间: 2011-10-08
Delphi(Pascal) code
TForm(BplForm).BringToFront; //这个bpl是字符串,就是内存地址出错,自己测试用的
这句代码不能show出窗体,只有一个内存地址错误,主要是bplForm是字符串而不是对像,那我要怎么样才能BringToFront出来已打开的窗体。
作者: moshao6 发布时间: 2011-10-08
var Aclass: TFormClass; ChildForm: array [0..3,0..1] of TFormClass;//全局 ///--------------------------------/// Aclass := TFormClass(GetClass(BplForm)); if Aclass <> nil then begin for n := 0 to Screen.FormCount - 1 do begin if ChildForm[n, 0] = nil then begin with TFormClass(Aclass).Create(Application) as TForm do begin ChildForm[n , 0] := Aclass; //ChildForm[n , 1] := Caption; FormStyle := fsMDIChild; WindowState := wsMaximized; Break; end; end else if (ChildForm[n,0] <> nil) and (TFormClass(Aclass) = ChildForm[n,0]) then begin //ShowMessage(toString(TFormClass(Aclass))); (TFormClass(Aclass) as TForm).BringToFront; Abort; end; end; case flag of 1: Show; 2: ShowModal; 3: Hide; end;我的代码
作者: moshao6 发布时间: 2011-10-08
Delphi(Pascal) code
var
ps: array[0..254] of Char;
hChild:HWND;
begin
hChild:= GetWindow(ParentWnd, GW_CHILD); // 取得第一個子視窗,ParentWnd:主窗口句柄
while hChild<> 0 do
begin
……
在这个方法中,你传递的是什么进来 的
作者: moshao6 发布时间: 2011-10-08
引用 2 楼 m617105 的回复:
Delphi(Pascal) code
var
ps: array[0..254] of Char;
hChild:HWND;
begin
hChild:= GetWindow(ParentWnd, GW_CHILD); // 取得第一個子視窗,ParentWnd:主窗口句柄
while hChild<> 0 ……
ParentWnd 主窗口句柄
作者: m617105 发布时间: 2011-10-08
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28