在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;
}
好的方法防止背景闪动就是双缓存,就是有两张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);
如果你要改变窗口大小, 那么窗口重绘时最好不要 以拉伸的 方式 显示图片。
如果不改变窗口大小, 可以通过将对话框属性的边框属性 设置为 调整大小 。