1)禁止系统菜单,并实现不能移动
int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
。。。。。。。。。。。
CMenu *pTopMenu=GetSystemMenu(false);
pTopMenu->RemoveMenu(4,MF_BYPOSITION);//最大化窗口不可用
pTopMenu->RemoveMenu(2,MF_BYPOSITION);//size
pTopMenu->RemoveMenu(1,MF_BYPOSITION);//使不可移动
pTopMenu->RemoveMenu(3,MF_BYPOSITION);//使不可关闭
return 0;
}
2)去掉标题栏最大化、最小化按钮
BOOL CMainFrame::PreCreateWindow(CREATESTRUCT& cs)
{
if( !CFrameWnd::PreCreateWindow(cs) )
return FALSE;
cs.style&=~WS_MAXIMIZEBOX;
cs.style&=~WS_MINIMIZEBOX;
cs.style&=~FWS_ADDTOTITLE;
//去除标题条中的文档名
cs.style &= ~WS_THICKFRAME;
//去除可改变大小的边框
cs.style |= DS_MODALFRAME;
//增加不能改变大小的边框
m_cxorgScreen= ::GetSystemMetrics(SM_CXSCREEN);
m_cyorgScreen = ::GetSystemMetrics(SM_CYSCREEN);
//设置屏幕分辨率
/* DEVMODE DevMode; //屏幕信息结构体
EnumDisplaySettings(NULL,ENUM_CURRENT_SETTINGS,&DevMode); //获取当前的数据
DevMode.dmPelsWidth = m_cxScreen; //修改成你想要的分辨率
DevMode.dmPelsHeight = m_cyScreen;
ChangeDisplaySettings(&DevMode, CDS_UPDATEREGISTRY); //设置生效
*/
//确定主窗的大小和初始位置
int cxScreen = ::GetSystemMetrics(SM_CXSCREEN);
//获得屏幕宽
int cyScreen = ::GetSystemMetrics(SM_CYSCREEN);
//获得屏幕高
cs.x = 0; // 主窗位于左上角
cs.y = 0;
cs.cx = cxScreen;
//主窗宽为1/2屏幕宽
cs.cy = cxScreen;
//主窗高为1/2屏幕高
return CFrameWnd::PreCreateWindow(cs);
//return TRUE;
}
3)禁止标题栏鼠标双击响应
LRESULT CMainFrame::DefWindowProc(UINT message, WPARAM wParam, LPARAM lParam)
{
// TODO: 在此添加专用代码和/或调用基类
if(message == WM_NCLBUTTONDBLCLK)
{
if(HTCAPTION==wParam)
return 0;
}
return CFrameWnd::DefWindowProc(message, wParam, lParam);
}