對於對話方塊,只需要過載預設的訊息處理函式就行了:
// 過載預設的訊息處理函式,主要處理wm_move wm_paint wm_ncpaint wm_ncactivate wm_notify這// 幾個訊息就可以了
lresult cmydialog::defwindowproc(uint message, wparam wparam, lparam lparam)return
lrst;
//return cdialog::defwindowproc(message, wparam, lparam);
}
//重畫邊框的具體**
void cmydialog::drawborder(cdc *pdc)
}
以上**雖然是針對對話方塊的,不過,對於一般的視窗,稍微修改一下,估計也是可以的。
如果出現對話方塊的邊框顏色沒有修改,可以用:
invalidaterect(null); //在邊框改變的對話方塊中
或者如果有父視窗,在父視窗中呼叫:
redrawwindow(null, null, rdw_frame | rdw_invalidate | rdw_erase | rdw_updatenow | rdw_allchildren );
這樣應該就差不多了。
以下為修改對話方塊背景顏色方法:
過載onpaint(),即wm_paint訊息。有關**如下(以上例工程為準):
voidcexampledlgdlg::onpaint()
或者在oninitdialog函式中呼叫
setbackgroundcolor(rgb(0,255,0));
mfc 改變對話方塊背景顏色
其中函式的第乙個引數指定了背景顏色,第二個引數指定了文字顏色。下面的例子是將應用程式對話方塊設定為藍色背景和紅色文字,步驟如下 新建乙個基於dialog的mfc initinstance 中新增如下 bool initinstance 編譯並執行,此時對話方塊的背景色和文本色已發生了改變。值得注意的...
VC MFC如何設定對話方塊背景顏色
1.過載onctlcolor cdc pdc,cwnd pwnd,uint nctlcolor 即wm ctlcolor訊息。在cexampledlgdlg的標頭檔案中,新增一cbrush的成員變數 class cexampledlgdlg public cdialog 在oninitdialog ...
VC MFC如何設定對話方塊背景顏色
vc mfc如何設定對話方塊背景顏色 1.過載onctlcolor cdc pdc,cwnd pwnd,uint nctlcolor 即wm ctlcolor訊息。在cexampledlgdlg的標頭檔案中,新增一cbrush的成員變數 class cexampledlgdlg public cdi...