MFC如何改变窗口大小

MFC如何改变窗口大小,第1张

自定义MFC窗口大小的话,可以用下面的方法,重载BOOL PreCreateWindow(CREATESTRUCT& cs) 函数。

BOOL CMainFrame::PreCreateWindow(CREATESTRUCT& cs)

{

if( !CFrameWnd::PreCreateWindow(cs))

return FALSE;

// TODO: Modify the Window class or styles here bymodifying

// the CREATESTRUCTcs

csdwExStyle&= ~WS_EX_CLIENTEDGE;

cslpszClass = AfxRegisterWndClass(0);

csstyle |= WS_CLIPCHILDREN|WS_CLIPSIBLINGS;

cscx = 1000;//窗口宽度

cscy = 800;//窗口高度

return TRUE;

}

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

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

crect rt;

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

csize logicsize = gettotalsize();// logical size

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

可以调用::GetSystemMetrics(SM_CXSCREEN),::GetSystemMetrics(SM_CYSCREEN),返回横纵分辨率,然后根据分辨率改变窗口大小

改变窗口大小可以使用MoveWindow函数

以上就是关于MFC如何改变窗口大小全部的内容,包括:MFC如何改变窗口大小、MFC编程中怎样设置单文档窗口大小固定、VC中如何获得活动窗口的大小信息等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存