高分请教--MFC如何获取其他程序的某个视图的句柄

高分请教--MFC如何获取其他程序的某个视图的句柄,第1张

你可以用Spy++看看它的句柄

你说的什么某个视图的句柄,你是指它的子窗体的句柄?你可以枚举它的子窗体EnumChildWindows,每得到一个窗体句柄就得到它的文本可以用GetWindowText,以判断是否为要想获取的窗体;如果是对话框的话,可以直接跟据ID来得到了。

得到句柄后就可以用SendMessage了

首先从对话框的按钮处理函数中获得mainframe指针

cmainframe

pmain=(cmaimframe

)afxgetapp()->m_pmainwnd;

然后获得相应视图指针cyourview

pview=(cyourview

)pmain->getactiveview();

最后获得视图对应的当前文档指针

cdocument

pcurrentdoc

=(cframewnd

)m_pmainwnd->getactivedocument();

以上需要注意在对话框类中包含mainfrmh和相应的视图类的头文件

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

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

CRect rt;

GetClientRect(&rt);

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

CSize logicSize = GetTotalSize();// logical size

以上就是关于高分请教--MFC如何获取其他程序的某个视图的句柄全部的内容,包括:高分请教--MFC如何获取其他程序的某个视图的句柄、如何在MFC的View类中获取指向对话框的指针、vc++编程:在MFC单文档编程中如何获取view类窗口的大小等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

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

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

发表评论

登录后才能评论

评论列表(0条)

    保存