2010-11-11 3 views
0

J'ai créé un contrôle d'édition avec ES_PASSWORD. Je veux changer la couleur de ma boîte statique en gris.Modification de la couleur d'un contrôle d'édition dans WINCE (win32)

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

Mais encore par le contrôle d'édition est de couleur blanche :(

S'il vous plaît aidez-moi. S'il y a plus d'un contrôle d'édition, est là pour h

Répondre

0

Votre gestionnaire de messages devrait ressembler à ceci :

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; 
} 

Assurez-vous de ne pas DefWindowProc cal, qui vaincra la dérogation

.
Questions connexes