如题

解决方案 »

  1.   

    响应WM_CTLCOLOR消息,跟改相信控件的BRUSH,注意返回的是改后的BRUSH,不要用AppWizard给的默认的返回。
      

  2.   

    响应WM_CTLCOLOR消息HBRUSH CXXXView::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor) 
    {
    switch(nCtlColor) 
    {
        case CTLCOLOR_STATIC:
    pDC->SetBkMode(TRANSPARENT);
    pDC->SetTextColor(RGB(0,0,0));
    return (HBRUSH)GetStockObject(HOLLOW_BRUSH);
    case CTLCOLOR_EDIT:
    case CTLCOLOR_MSGBOX:
    pDC->SetBkMode(TRANSPARENT);
                pDC->SetBkColor(RGB(255,0,0));   //红色
                pDC->SetTextColor(RGB(255, 255, 255) );
                return (HBRUSH)GetStockObject(DEFAULT_PALETTE);
    default:
    break;
    }
    HBRUSH hbr = CFormView::OnCtlColor(pDC, pWnd, nCtlColor);
    return hbr;
    }
      

  3.   

    响应WM_CTLCOLOR消息这个消息怎么找不到呢??
      

  4.   

    不是那么简单的。注意区分一下操作系统,WinXP sp2以上和以下的方法是不一样的。