关于融入技术(10分)

  • 主题发起人 主题发起人 landina
  • 开始时间 开始时间
L

landina

Unregistered / Unconfirmed
GUEST, unregistred user!
if form2 = nil then
form2 := Tform2.Create(Application);
form2.ManualDock(Panel1);
form2.Show;

如何取得Panel1中的当前激活的Form的Handle?
 
就是取得什么form的handle?
 
因为Panel1中有可能有几个融入的窗口,我只要取显示在最前面的窗口的Handle.
 
GetActiveWindow();
 
DockClientCount 可以取得所有Dock的Control,DockClients可以访问每一个。
但是,如何得到最上面的,没找到,我Dock了两个控件,一个是窗体,一个是Button,它给我并列排布了,没办法区分哪一个是上面的呀。
实验一下VisibleDockClientCount,也许有用
 
我Dock了两个窗口,无论我是激活第一个窗口还是第二个窗口,VisibleDockClientCount的值是2。
 
1、用一下GetTopWindow试一下。
var
TheWindow: HWND;
begin
TheWindow:=GetTopWindow(Panel1.Handle);
2、你可以用类型信息,简单的说用Sender来判断是哪个呀。
3、DockClientCount 可以取得所有Dock的Control,对于Control进行判断
 
接受答案了.
 
后退
顶部