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