我正在使用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. c#最大化,最小化和关闭窗体上的按钮
- 2. 删除Tkinter中的最小化/最大化按钮
- 3. 从窗口中删除最小化/最大化按钮,OpenTK
- 4. XAML通过SystemCommands最小化/最大化/关闭按钮
- 5. Windows Scipt禁用最小化和最大化按钮
- 6. c#表单最小化/最大化按钮不见了?
- 7. Qt隐藏最小化,最大化和关闭按钮
- 8. C#自定义关闭,最小化和最大化按钮
- 9. 删除最小化和最大化按钮与glfw
- 10. NSIS:最大化/最小化按钮事件处理
- 11. 最小化/最大化div
- 12. 禁用最小化按钮,但保持交叉和最大化按钮 - WPF,C#
- 13. 最小化,最大化exe的
- 14. 单击按钮时最大化按钮
- 15. 最小化/最大化/关闭按钮的工具提示和DevExpress的LookAndFeel都
- 16. 如何阻止Gmail最大化iFrame?
- 17. 如何渲染窗口关闭/最大化/最小化wpf中的按钮?
- 18. 如何禁用浏览器中的最小化,最大化按钮?
- 19. 隐藏最大化/最小化和关闭按钮的Matlab图形窗口
- 20. 最大化,最小化和关闭网页中每个部分的按钮
- 21. 如何禁用最小化和最大化的窗口形式C#按钮
- 22. 如何更改PartStack中最小化/最大化按钮的语言?
- 23. 最小化ExtJS的大小
- 24. 带最小化按钮的JDialog
- 25. 最大化Android按钮文本的大小
- 26. 最大化最小差异
- 27. 如何最大化/最小化iFrame?
- 28. 在android中最大化和最小化
- 29. 禁用窗口最大化/最小化
- 30. 视觉状态管理器未响应最大化/最小化按钮
9个问题,0接受? – egrunin 2010-11-01 12:58:36