MFC 自定义类中如何获取子窗口句柄

MFC 自定义类中如何获取子窗口句柄,第1张

GetDlgItem()//只有一个参数就是你要获取的子窗口的ID,返回值是一个指向CWnd类的指针.该函数可以根据一个ID号获取一个对应的对象指针,在任何派生自CWnd类的类中都可以使用.如果你非要句柄的话.那就

CWnd pWnd= GetDlgItem(/子窗口ID/);

pWnd->m_HWnd;//得到这个子窗口的句柄

你在一个对话框CTransClientDlg里面获取前台窗口的目的是什么?

一般来说,使用CWnd类的GetForegroundWindow获取的是指向前台窗口(使用用户当前)的顶级窗口,你的对话框有这个窗口么?从w的信息看,好像是没有这样一个合理的窗口存在。

如果是后台程序,那么应该使用API函数来获取,而不是CWnd类函数,即:

HWND hw = ::GetForegroundWindow();

在MFC中,View视图类窗口的大小有两个,一个是可视窗口大小,一个是逻辑窗口大小。

在没有滚动条的情况下,两个大小相同,使用GetClientRect就可以获取大小:

CRect rt;

GetClientRect(&rt);

需要注意的是,CScrollView这个视图类,在有滚动条的情况下,通过上述代码获取的是可视窗口大小,而不是完整窗口尺寸,完整窗口尺寸需要通过GetTotalSize函数获取:

CSize logicSize = GetTotalSize();// logical size

以上就是关于MFC 自定义类中如何获取子窗口句柄全部的内容,包括:MFC 自定义类中如何获取子窗口句柄、MFC 无法正确获取窗口句柄...大家帮帮忙。。。、vc++编程:在MFC单文档编程中如何获取view类窗口的大小等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://www.54852.com/web/9670673.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-30
下一篇2023-04-30

发表评论

登录后才能评论

评论列表(0条)

    保存