MFC中如何去除对话框标题栏上默认的小图标?不是修改,是去除。

我使用的是CFrameWnd类,如下图中左上角的小图标如何去除。
2024-12-21 17:46:40
推荐回答(3个)
回答1:

重写
BOOL CMainFrame::PreCreateWindow(CREATESTRUCT& cs)
{
if( !CFrameWnd::PreCreateWindow(cs) )
return FALSE;

LPCTSTR classname = _T("ab");//你自己命个名
WNDCLASS wndcls;
::GetClassInfo(AfxGetInstanceHandle(), cs.lpszClass, &wndcls);
wndcls.lpszClassName = classname;
wndcls.hIcon = NULL;
VERIFY(AfxRegisterClass(&wndcls));
cs.lpszClass = classname;
cs.dwExStyle |= WS_EX_DLGMODALFRAME;
return TRUE;
}

回答2:

那个和系统菜单是一体的,要想去掉就会使最大化最小化还原按钮不显示。

ModifyStyle(WS_SYSMENU, NULL);
不过,你可以去掉标题栏后自己加个按钮来关闭
去掉标题栏可以使用

ModifyStyle(WS_CAPTION,0)

回答3:

在OnPaint中
if (IsIconic())
{
CPaintDC dc(this); // 用于绘制的设备上下文
}