我需要从我的MFC对话框的标题栏中删除系统菜单和图标,同时保持最大化,最小化和closuresbutton。
我已经尝试使用SetIcon(NULL,TRUE),SetIcon(NULL,FALSE)希望这将删除图标。 但是,这不起作用。 该图标仍然显示有点凌乱,我认为该应用程序只是采取了主框架图标和resize。
任何人都可以帮助我这个..我使用VC ++ 2010 SP1
谢谢
寻找相当于unix脚本命令的windows
是否有可能哄std :: atomic <T>输出CMPXCHG16B
ShellExeute格式DOS命令
如何在C ++中添加库?
我的小转储越来越大,无法由Visual Studio加载,我该如何解决?
包含头文件时,path是否区分大小写?
如何在空的visual c ++项目(或控制台应用程序)中使用find窗口和sendmessage,
Windows窗体devise器重命名复制/粘贴控件
为什么在VCC 2003中编译这么长时间?
用cmake安装PDB文件
标题栏图标也可以通过使用扩展样式(仅在对话框中测试,不知道它在Windows上的表现如何)从独立于最小/最大/退出按钮的位置移除。
将下面的代码粘贴到对话框的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,SWP_FRAMECHANGED | SWP_NOMOVE | SWP_NOSIZE | SWP_NOZORDER);
我也没有成功地尝试过SetIcon()方法和许多其他建议的解决方案/黑客,除了上层(即扩展样式)没有工作。
编辑:
只需将DS_MODALFRAME与DS_MODALFRAME和WS_SYSMENU一起添加到对话框样式即可。
https://msdn.microsoft.com/en-us/library/windows/desktop/ff729172%28v=vs.85%29.aspx?f=255&MSPPError=-2147217396
在资源编辑器中,编辑对话框的属性:将“系统菜单”设置为false。 这将删除对话框的WS_SYSMENU 窗口样式 。
编辑:哎呀! 我只是重新读你的问题,并意识到你想保留最小和最大的盒子。 我的解决方案不会这样做。 这是一个不寻常的要求。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。