
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类窗口的大小等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)