急MFC单文档程序有关窗口大小的有关问题

急!MFC单文档程序有关窗口大小的问题!
我建立了一个MFC 单文档工程(使用Ribbon)。
我希望能够将主窗口的大小固定,禁止用户更改,上网找了资料,于是在MainFrm.cpp里做了如下设置:
#define RESOLUTION_WIDTH  1024
#define RESOLUTION_HEIGHT 768

BOOL CMainFrame::PreCreateWindow(CREATESTRUCT& cs)
{
if( !CFrameWndEx::PreCreateWindow(cs) )
return FALSE;
cs.cx = RESOLUTION_WIDTH;
cs.cy = RESOLUTION_HEIGHT;
cs.style &= ~WS_THICKFRAME; // 不支持调整窗口大小
cs.style &= ~WS_MAXIMIZEBOX; 
cs.style &= ~FWS_ADDTOTITLE;
cs.lpszName = L"设备检测";
return TRUE;
}


得到的结果有2个问题:
1:代码中的其他语句都有体现出效果,但是通过cs.cx, cs.cy修改窗口默认大小的这2句没作用,程序执行后出来的主窗口的大小没有被改变,而是持续保持上一次关闭时的状态(包括大小和位置),请问这种状况该怎么办。
2:虽然鼠标移动到窗口边缘无法改变窗口大小了,但是当鼠标移动到窗口上边缘时,依然可以调整窗口的高度,求将这个也禁用的方法。
问题2示意图:
急MFC单文档程序有关窗口大小的有关问题
------解决思路----------------------
第二个问题,让MFC对话框不响应标题栏双击,只要找到响应的事件入口,就可以做自己所需的功能。
重载OnNcLButtonDblClk,添加如下代码:
    if(nHitTest == HTCAPTION) // 为标题栏的双击
        return;


------解决思路----------------------
引用:
Quote: 引用:

重写主窗口的OnSize函数,如果发现尺寸被改了,就改回来

void CMainFrame::OnSize(UINT nType, int cx, int cy) {
CFrameWndEx::OnSize(nType, cx, cy);

cx = 0;
cy = 0;
}


没有效果,依然可以改变高度


急MFC单文档程序有关窗口大小的有关问题
你不能再把操作传递给基类,你要自己使用MoveWindow设置尺寸

void CMainFrame::OnSize(UINT nType, int cx, int cy)
{

CRect r;
GetWindowRect(&r);
int mWidth=800;
int mHeight=500;

r.right=r.left+mWidth;
r.bottom=r.top+mHeight;
MoveWindow(&r,false);

CMDIFrameWndEx::OnSize(nType, cx, cy);

// TODO: 在此处添加消息处理程序代码
}