Zai*_*mir 2 windows mfc visual-studio visual-c++
我需要从MFC对话框的标题栏中删除系统菜单和图标,同时保持最大化,最小化和关闭按钮.
我尝试过使用SetIcon(NULL,TRUE),SetIcon(NULL,FALSE),希望这会删除图标.但是,这不起作用.图标仍显示有点凌乱,我认为应用程序只是采用主框架图标并调整大小.
任何人都可以帮我这个..我正在使用VC++ 2010 SP1
谢谢
标题栏图标也可以通过使用扩展样式独立于最小/最大/退出按钮删除(仅在对话框上测试,不知道它在窗口上的行为).
将以下代码粘贴到对话框的OnInitDialog()方法中,它应该工作:
// Disable default titlebar icon
int extendedStyle = GetWindowLong(m_hWnd, GWL_EXSTYLE);
SetWindowLong(m_hWnd, GWL_EXSTYLE, extendedStyle | WS_EX_DLGMODALFRAME);
// Update non-client area of the dialog, for the changes to take effect
SetWindowPos(NULL, 0, 0, 0, 0, SWP_FRAMECHANGED | SWP_NOMOVE | SWP_NOSIZE | SWP_NOZORDER);
Run Code Online (Sandbox Code Playgroud)
我也没有成功尝试过该SetIcon()方法和许多其他提出的解决方案/黑客,除了上层(即扩展样式)之外,没有一个工作过.
编辑:
我刚刚发现了一个比上面的代码简单得多的东西:
只需添加DS_MODALFRAME对话框样式,以及WS_CAPTION和 WS_SYSMENU.
| 归档时间: |
|
| 查看次数: |
3255 次 |
| 最近记录: |