VC++中怎么实现禁止用户改变窗口的大小啊?

2024-11-24 22:50:39
推荐回答(3个)
回答1:

在CMainFrame类中添加以下代码
BOOL CMainFrame::PreCreateWindow(CREATESTRUCT& cs)
{
if( !CFrameWnd::PreCreateWindow(cs) )
return FALSE;
// TODO: Modify the Window class or styles here by modifying
// the CREATESTRUCT cs

cs.style&=~WS_MAXIMIZEBOX; //禁用最大化按钮
cs.style&=~WS_THICKFRAME; //禁止调整窗口大小
cs.cx=800; //固定窗口宽度
cs.cy=600; //固定窗口高度(包括菜单栏等)

return TRUE;
}

回答2:

好的方法防止背景闪动就是双缓存,就是有两张dc(不包括hdc)比如命名为mdc.sendc就把每张小图图扫到sendc上,贴在mdc上,最后mdc整个贴在hdc上,保证不闪
防止大小变化就是在窗口create的时候
hWnd = CreateWindow(szWindowClass, szTitle, WS_OVERLAPPEDWINDOW & ~WS_MAXIMIZEBOX,//加这个东西就完了
100, 100, SCREEN_WIDTH, SCREEN_HEIGHT, NULL, NULL, hInstance, NULL);

回答3:

如果你要改变窗口大小, 那么窗口重绘时最好不要 以拉伸的 方式 显示图片。
如果不改变窗口大小, 可以通过将对话框属性的边框属性 设置为 调整大小 。