2010-11-11 35 views
0

我用ES_PASSWORD創建了一個編輯控件。我想將我的靜態框的顏色更改爲灰色。更改WInCE中編輯控件的顏色(win32)

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

但仍由編輯控件是白色:(

請幫助我。 如果有一個以上的編輯控件,有沒有到h

回答

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

確保你不CAL DefWindowProc函數,將打敗覆蓋