2010-11-11 3 views
0

Я создал элемент управления редактирования с ES_PASSWORD. Я хочу изменить цвет моего статического поля на серый.Изменение цвета элемента управления редактированием в WInCE (win32)

case WM_CTLCOLOREDIT: 
{ 
    HDC hdc = (HDC) wParam ;    
    SetBkMode(hdc, RGB(65, 65, 65)); 
    return (LRESULT)GetStockObject(NULL_BRUSH);    
} 

Но все же контролем редактировать белый цвет :(

Пожалуйста, помогите мне. Если есть более одного элемента редактирования, есть в час

ответ

0

Ваш обработчик сообщения должен выглядеть следующим образом :

LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam) 
{ 

    switch (message) 
    { 

     case WM_CTLCOLOREDIT: 
     { 
      HBRUSH hBrush = CreateSolidBrush(RGB(255,0,0)); 
      ::SelectObject((HDC)wParam, (HGDIOBJ)hBrush); 
      break; 
     } 
     default: 
      return DefWindowProc(hWnd, message, wParam, lParam); 
    } 

    return 0; 
} 

Убедитесь, что вы не кал DefWindowProc, что победят переопределение

.
Смежные вопросы