我用BCG做了個MDI的界面。子視窗右上角有三個按鈕,最大化,最小化和關閉。現在需要關閉按鈕,或者去掉,最小化和最大化保留。請問要怎么做?
EnableMenuItem,DeleteMenu,RemoveMenu的方法都試過了,可以不能點擊,但是滑鼠放上去和移開都會有顏色表示,我需要一直保持灰色。
uj5u.com熱心網友回復:
樓主想用系統的按鈕的話,單獨去掉關閉按鈕是不行的,只能去掉最大化和最小化按鈕。如果一定要這么做的話,可用考慮做成無邊框的,表單上面留一部分做標題欄,自己畫(放)一個關閉按鈕上去。
uj5u.com熱心網友回復:
我自己在關閉按鈕上面自己畫了個圖片,蓋住了原來的按鈕,也算實作了功能。但是現在子視窗最大化后,按鈕還是有問題,不知道在哪個函式里面畫了

網上查了下,子視窗最大化后和父視窗的標題欄重合在一起了。
父視窗和子視窗的Onpaint和OnNcPaint都試過不行。我懷疑是我畫好后,BCG又重新畫了一層皮膚上去蓋住了。
uj5u.com熱心網友回復:
在mfc里面,用ON_WM_CTLCOLOR_REFLECT畫控制元件還是可以的。
HBRUSH CtlColor(CDC* pDC, UINT /*nCtlColor*/)
{
CRect rect,;
GetClientRect(&rect);
pDC->FillRect(&rect, &CBrush(RGB(255,0,0)));
return (HBRUSH)GetStockObject(NULL_BRUSH);
}
子視窗是不是也可以類似的方式處理下?lz可以試試。
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/27667.html
標籤:C++ 語言
下一篇:二叉樹【求解答】
