VC中如何获得活动窗口的大小信息

VC中如何获得活动窗口的大小信息,第1张

你用原生的api BOOL GetClientRect( HWND hWnd,LPRECT lpRect); 不用MFC的试试看呢?用 GetForegroundWindow 获取前端窗口句柄。

窗口每OnSize一次,获取一次它的大小,与程序启动时的大小做比较,算出其比例,调用自定义函数,在自定义函数中获取每个控件的大小GetDlgItem(IDC_XXX)->GetWindowRect(&rc);

然后把每个控件进行按比例缩放,使用MoveWindow函数

各函数具体用法请查msdn

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

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

CRect rt;

GetClientRect(&rt);

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

CSize logicSize = GetTotalSize();// logical size

以上就是关于VC中如何获得活动窗口的大小信息全部的内容,包括:VC中如何获得活动窗口的大小信息、在vc和mfc下,如何能使windows窗体在放大缩小时,窗体中的控件也可同时放大或缩小、vc++编程:在MFC单文档编程中如何获取view类窗口的大小等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

原文地址: http://outofmemory.cn/web/9616782.html

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

发表评论

登录后才能评论

评论列表(0条)

保存