我正在使用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