簡體   English   中英

在運行時更改編輯框的顏色

[英]Change color of edit box in runtime

如果用戶在MFC中修改了其內容,如何更改其背景色。 如何在Edit控件的ON_EN_CHANGE MSg中進行更改。

基本上你的解決方案是

    HBRUSH CEditDialog::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
    {
              switch (nCtlColor) {

              case CTLCOLOR_EDIT:
              case CTLCOLOR_MSGBOX:
                  // Set color to green on black and return the background
                     brush.
                  pDC->SetTextColor(RGB(0, 255, 0));
                  if(ChangeColor == TRUE)
                  {
                      pDC->SetBkColor(RGB(0, 0, 0));
                      ChangeColor = FALSE;
                  }
                  return (HBRUSH)(m_pEditBkBrush->GetSafeHandle());

              default:
                  return CDialog::OnCtlColor(pDC, pWnd, nCtlColor);


}

}

現在,您要在文本更改時更改文本框的顏色,

    ::OnEnchange()
{
   ChangeColor = TRUE;      //Its global flag maintain in any global position may be in your .H file.
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM