опубликован 09-11-2001 11:34 MSK Люди, почему может не меняться задний фон ЕдитБокса? А как тогда его изменить! Почему-то стандартный вариант не проходит аля SetBkColor(hDCEditBox, RGB(255,0,0));
OlegN
опубликован 09-11-2001 12:11 MSK
Стандартный вариант - это перехватить у pаrent-a сообщение WM_CTLCOLOREDIT для этого окна Для RichEdit-a есть специальное сообщение EM_SETBKGNDCOLOR
server_mouse
опубликован 09-11-2001 12:59 MSK
Есть некий диалог CMesDlg. На нём EditBox c ID=IDC_EDIT1. Я делаю так:
//Обработчик WM_CTLCOLOR HBRUSH CMesDlg::OnCtlColor(CDC* pDc,CWnd* pWnd,UINT nCtlColor) { switch(pWnd->GettDlgCtrlID()) { case IDC_EDIT1: pDc->SetBkColor(m_color1); hbr=m_hbrush1; break; //........ case-ы для др. эдитов default: hbr=CDialog::OnCtlColor(pDc,pWnd,nCtlColor); } }
Ну и перед этим (в конструкторе например): m_color1=RGB(239,239,215); m_brush1.CreateSolidBrush(m_color1);