delphi中如何判断当前激活的是哪一个子窗体?
我是新手,刚学delphi,各位大侠来看看怎么写。父窗体里有一个菜单,单击菜单的条目能打开相应的子窗体,但之前打开的子窗体都只是被最小化或者隐藏,我希望点击菜单条目打开新...
我是新手,刚学delphi,各位大侠来看看怎么写。
父窗体里有一个菜单,单击菜单的条目能打开相应的子窗体,但之前打开的子窗体都只是被最小化或者隐藏,我希望点击菜单条目打开新窗体的同时能把当前使用的子窗体free。
打开子窗体的顺序不确定,所以不能预先指定打开Form2之前必定free Form1。网上有文章介绍用assigned()来判断某个指针是否存在,但如果预先设计的窗体太多,也不可能每次打开窗体前都要逐一判断。在打开新窗体前应该怎样加上判断语句才能快速判断当前激活的窗体呢? 展开
父窗体里有一个菜单,单击菜单的条目能打开相应的子窗体,但之前打开的子窗体都只是被最小化或者隐藏,我希望点击菜单条目打开新窗体的同时能把当前使用的子窗体free。
打开子窗体的顺序不确定,所以不能预先指定打开Form2之前必定free Form1。网上有文章介绍用assigned()来判断某个指针是否存在,但如果预先设计的窗体太多,也不可能每次打开窗体前都要逐一判断。在打开新窗体前应该怎样加上判断语句才能快速判断当前激活的窗体呢? 展开
2个回答
2013-09-18
展开全部
最简单的方法: 在全局变量中建一个当前激活的窗体指针. hChildWnd : Pointer 在点击菜单项目的事件中, 使用代码if Assigned(hChildWnd) then TForm(hChildWnd).Free
2013-09-18
展开全部
可使用Windows API函数GetForegroundWindow获得当前活动窗体句柄 如果是你程序里的窗体,你可以用一个全局变量ActiveForm: TForm;来记录你最后操作的一个窗体。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询