除了设置CS.style风格外是否还有其它方法?
在我的程序中设置CS.style程序直接崩溃了
在我的程序中设置CS.style程序直接崩溃了
解决方案 »
- 有没有人用MFC和ATL混合编写COM组件?
- CFile::Read的问题
- CreateCompatibleDC创建是否,GetLastError返回6,无效句柄??
- 如何禁止多个工具条在主窗口变小时自动排列
- 关于SendMessage问题
- 菜鸟的一个问题。请知道的给个答案,马上给分。
- 怎样查看HRESULT 的错误信息
- 关于CComBSTR的问题,急
- 怎么用SendARP,为什么include不了iphlpapi.h文件
- how to create and delete a folder using SDK or API
- 很简单的程序,运行报错!
- 在做编辑器的时候,如何能根据用户的编辑修改,实时反映出来?
我新建了一多文档工程在该函数中设置了CS风格的确去掉了最大最小按纽但是在我的工程中设置该风格也去掉了最大最小按纽但我只要点击最大最小按纽
所在的位置程序就崩溃了, 因为东西太多也不只到哪里出错了.所以想试试其他方法
{
// TODO: Modify the Window class or styles here by modifying
// the CREATESTRUCT cs if( !CMDIChildWnd::PreCreateWindow(cs) )
return FALSE;
cs.style &= ~(LONG) FWS_ADDTOTITLE;
cs.style &= ~WS_SYSMENU;
return TRUE;
}加上cs.style &= ~WS_SYSMENU;风格,点击MainFram框架程序崩溃
{
// TODO: Modify the Window class or styles here by modifying
// the CREATESTRUCT cs if( !CMDIChildWnd::PreCreateWindow(cs) )
return FALSE;
cs.style &= ~(LONG) FWS_ADDTOTITLE;
cs.style &= ~WS_SYSMENU;
return TRUE;
} 无问题,肯定是其它地方出错啦。
{
// TODO: Modify the Window class or styles here by modifying
// the CREATESTRUCT cs if( !CMDIChildWnd::PreCreateWindow(cs) )
return FALSE; cs.style &= ~(WS_SYSMENU | WS_MAXIMIZEBOX | WS_MINIMIZEBOX); return TRUE;
}
去掉风格后程序没有任何问题,可否有其他方法去掉按纽??
是否和动态创建的视图有关? 因为我在程序中用CDialog资源从CFromView派生了
N个类, 然后在用户点击CTreeCtrl控件后将这些CDialog视图动态创建出来
要去掉最大最小按纽就是这些CDialog视图上的按纽 是否是这个原因?
CDialog 在 WM_INITDIALOG 消息的 OnInitDialog函数中处理
BOOL CXXXXXXDlg::OnInitDialog()
{
CDialog::OnInitDialog();
this->ModifyStyle(WS_SYSMENU | WS_MAXIMIZEBOX | WS_MINIMIZEBOX,0);
return TRUE; // return TRUE unless you set the focus to a control
// EXCEPTION: OCX Property Pages should return FALSE
}
这些CDialog是从CFromView派生的,现在已经没有了WM_INITDIALOG 消息
只有OnInitiaUpdateData消息
在这设置
this->ModifyStyle(WS_SYSMENU ¦ WS_MAXIMIZEBOX ¦ WS_MINIMIZEBOX,0);
去掉最大最小和关闭按纽没有成功
~~!