對於對話方塊,只需要過載預設的訊息處理函式就行了:
// 過載預設的訊息處理函式,主要處理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訊息。有關**如下(以上例工程為準):
void cexampledlgdlg::onpaint()
修改對話方塊顏色等
hbrush childdlg onctlcolor cdc pdc,cwnd pwnd,uint nctlcolor else if nctlcolor ctlcolor scrollbar else if nctlcolor ctlcolor edit 更改編輯框 else if nctlcol...
MFC 修改對話方塊標題
分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!一 對話方塊標題欄內容為靜態 直接在對話方塊屬性 general 的 caption 中修改。二 對話方塊標題欄內容為動態生成的 在對應對話方塊的初始化函式oninitdialog 中新增以下 cstring title title.format ...
MFC設定對話方塊背景和邊框顏色
對於對話方塊,只需要過載預設的訊息處理函式就行了 過載預設的訊息處理函式,主要處理wm move wm paint wm ncpaint wm ncactivate wm notify這 幾個訊息就可以了 lresult cmydialog defwindowproc uint message,wp...