更改WInCE(win32)中编辑控件的颜色

时间:2010-11-11 00:19:46

标签: windows-ce winapi

我用ES_PASSWORD创建了一个编辑控件。我想将静态框的颜色更改为灰色。

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

但仍然通过编辑控件是白色:(

请帮帮我。 如果有多个编辑控件,那么是

1 个答案:

答案 0 :(得分: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,这将打败覆盖。