WWW.ИСХОДНИКИ.РУ cpp.sources.ru
java.sources.ru web.sources.ru soft.sources.ru
jdbc.sources.ru asp.sources.ru api.sources.ru

  Форум на исходниках
  C / C++ / Visual C++
  EditBox'ы

СПРОСИТЬ  ОТВЕТИТЬ
профайл | регистрация | faq

Автор Тема:   EditBox'ы
SUnteXx опубликован 09-11-2001 11:34 MSK   Click Here to See the Profile for SUnteXx   Click Here to Email SUnteXx  
Люди, почему может не меняться задний фон ЕдитБокса?
А как тогда его изменить!
Почему-то стандартный вариант не проходит аля
SetBkColor(hDCEditBox, RGB(255,0,0));
OlegN опубликован 09-11-2001 12:11 MSK     Click Here to See the Profile for OlegN  Click Here to Email OlegN     
Стандартный вариант - это
перехватить у pаrent-a
сообщение WM_CTLCOLOREDIT для этого окна
Для RichEdit-a есть специальное сообщение
EM_SETBKGNDCOLOR
server_mouse опубликован 09-11-2001 12:59 MSK     Click Here to See the Profile for server_mouse  Click Here to Email server_mouse     
Есть некий диалог 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);

СПРОСИТЬ  ОТВЕТИТЬ
Перейти:


E-mail | WWW.ИСХОДНИКИ.RU

Powered by: Ultimate Bulletin Board, Freeware Version 5.10a
Purchase our Licensed Version- which adds many more features!
© Infopop Corporation (formerly Madrona Park, Inc.), 1998 - 2000.