我正在使用mfc CDialog。我需要显示关闭和最小化/最大化按钮,但不应关闭或最大化对话框。我已经重写OnClose方法并保持对话框打开,即使点击关闭按钮。但我无法阻止对话框的最大化和最小化,因为似乎没有OnMaximize方法。有其他方法吗?阻止CDialog的最大化/最小化按钮的动作
回答
您需要处理WM_SYSCOMMAND
消息,请注意wParam == SC_MAXIMIZE
。
如果你抓住了SC_MINIMIZE,你可以做你想做的事情,而不是将它传递给Windows。
找到这个片段here.
const int WM_SYSCOMMAND= 0x0112;
const int SC_MAXIMIZE= 0xF030;
protected override void WndProc(ref Message m)
{
if(m.Msg==WM_SYSCOMMAND)
{
if((int)m.WParam==SC_MAXIMIZE)
{
MessageBox.Show("Maximized!!");
return; // swallow the message
}
}
base.WndProc (ref m);
}
感谢egrunin ...它像一个魅力......你是一个救世主...感谢:) – 2010-11-01 13:18:40
现在“接受”我的答案,我们都会很高兴:) – egrunin 2010-11-01 13:52:48
您无法在您的对话框中显示最小化/最大化图标。您可以通过转到Dialog属性(右键单击Dialog Contorol - > Properties),选择Styles pain并取消选择'Minimize Box','Maximize Box'来实现这一点。
是的谢谢,我知道,但我需要的箱子可见...但行动不应该对他们工作。 – Ashish 2010-11-01 13:15:12
- 1. 删除Tkinter中的最小化/最大化按钮
- 2. 绑定到tkinter中的最小化/最大化按钮
- 3. c#最大化,最小化和关闭窗体上的按钮
- 4. 如何检索窗口最小化,最大化和关闭按钮的大小?
- 5. C#自定义关闭,最小化和最大化按钮
- 6. 删除最小化和最大化按钮与glfw
- 7. NSIS:最大化/最小化按钮事件处理
- 8. c#表单最小化/最大化按钮不见了?
- 9. 从窗口中删除最小化/最大化按钮,OpenTK
- 10. 添加最小化/最大化按钮到JDialog orJPanel
- 11. Windows Scipt禁用最小化和最大化按钮
- 12. 添加帮助按钮,但保持最大化和最小化
- 13. XAML通过SystemCommands最小化/最大化/关闭按钮
- 14. Qt隐藏最小化,最大化和关闭按钮
- 15. Metro UI风格关闭/最小化/最大化按钮
- 16. 最小化最大化不工作
- 17. 最小化/最大化div
- 18. 禁用最小化按钮,但保持交叉和最大化按钮 - WPF,C#
- 19. 嵌入WebView的Gtk3窗口最大化按钮最大化
- 20. Ext.window.Window最小化按钮不起作用
- 21. 最大化,最小化ExtJS的面板
- 22. 最小化,最大化exe的
- 23. 最小化/最大化/关闭按钮的工具提示和DevExpress的LookAndFeel都
- 24. 单击按钮时最大化按钮
- 25. 如何阻止Gmail最大化iFrame?
- 26. 的Windows 10关闭,最小化和最大化按键
- 27. 如何禁用浏览器中的最小化,最大化按钮?
- 28. 如何删除出现在DNN网站上的最大化最小化按钮
- 29. 如何更改PartStack中最小化/最大化按钮的语言?
- 30. SetWindowsHookEx并单击窗体冻结时的最小化/最大化/关闭按钮
9个问题,0接受? – egrunin 2010-11-01 12:58:36