Здравствуйте, mhe, Вы писали:
mhe>Привожу фрагмент кода:
mhe>HBRUSH CDiaLbtnDown::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
mhe>{
mhe>if ( nCtlColor == CTLCOLOR_EDIT )
mhe> {
pDC->>SetBkColor( RGB( 255, 255, 0 ) );
mhe> return ( m_hbrYellowBrush );
mhe> }
mhe>if ( nCtlColor == CTLCOLOR_DLG )
mhe> {
pDC->>SetBkColor( RGB( 255, 0, 0 ) );
mhe> return ( m_hbrRedBrush );
mhe> }
mhe>return ( CDialog::OnCtlColor( pDC, pWnd, nCtlColor ) );
mhe>}
mhe>Цвет background EDIT изменяется, а цвет DLG не изменяется. Как изменить цвет background самого диалогового окна??? Ответьте, пожалуйста в чём проблема???
Не надо забывать про вызов функции базового класса, ведь визард не просто так коментарии генерит

Типа можно так:
HBRUSH CDiaLbtnDown::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
{
HBRUSH hbr = CDialog::OnCtlColor( pDC, pWnd, nCtlColor);
if ( nCtlColor == CTLCOLOR_EDIT )
{
pDC->>SetBkColor( RGB( 255, 255, 0 ) );
return ( m_hbrYellowBrush );
}
if ( nCtlColor == CTLCOLOR_DLG )
{
pDC->>SetBkColor( RGB( 255, 0, 0 ) );
return ( m_hbrRedBrush );
}
return hbr;
}
"Количество времени, необходимое для решения задачи, не зависит от того, было это время использовано для решение данной задачи или нет." ©Mikka77
Здравствуйте, Mikka77, Вы писали:
M>Здравствуйте, mhe, Вы писали:
mhe>>Привожу фрагмент кода:
mhe>>HBRUSH CDiaLbtnDown::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
mhe>>{
mhe>>if ( nCtlColor == CTLCOLOR_EDIT )
mhe>> {
pDC->>>SetBkColor( RGB( 255, 255, 0 ) );
mhe>> return ( m_hbrYellowBrush );
mhe>> }
mhe>>if ( nCtlColor == CTLCOLOR_DLG )
mhe>> {
pDC->>>SetBkColor( RGB( 255, 0, 0 ) );
mhe>> return ( m_hbrRedBrush );
mhe>> }
mhe>>return ( CDialog::OnCtlColor( pDC, pWnd, nCtlColor ) );
mhe>>}
mhe>>Цвет background EDIT изменяется, а цвет DLG не изменяется. Как изменить цвет background самого диалогового окна??? Ответьте, пожалуйста в чём проблема???
M>Не надо забывать про вызов функции базового класса, ведь визард не просто так коментарии генерит
M>Типа можно так:
M>M>HBRUSH CDiaLbtnDown::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
M>{
M> HBRUSH hbr = CDialog::OnCtlColor( pDC, pWnd, nCtlColor);
M>if ( nCtlColor == CTLCOLOR_EDIT )
M>{
pDC->>>SetBkColor( RGB( 255, 255, 0 ) );
M> return ( m_hbrYellowBrush );
M>}
M>if ( nCtlColor == CTLCOLOR_DLG )
M>{
pDC->>>SetBkColor( RGB( 255, 0, 0 ) );
M> return ( m_hbrRedBrush );
M>}
M> return hbr;
M>}
M>
M>
Спасибо за помощь. И прошу извинить за не совсем толковый вопрос. Дело в том, что я не совсем правильно инициализировал m_hbrRed/YellowBrush