本帖最后由 wo449305245 于 2010-11-22 12:31:37 编辑

解决方案 »

  1.   

    dc.TextOut(x,y,"该图片仅限百度用户交流使用");
      

  2.   

    CWnd::OnCtlColorafx_msg HBRUSH OnCtlColor( CDC* pDC, CWnd* pWnd, UINT nCtlColor );返回值:OnCtlColor必须返回一个刷子句柄,该刷子将被用于画出控件的背景。参数: pDC 包含了子窗口的显示设备环境的指针。可能是临时的。  
    PWnd 包含了要求颜色的控件的指针。可能是临时的。  
    NCtlColor 包含了下列值,指定了控件的类型: · CTLCOLOR_BTN 按钮控件  
    · CTLCOLOR_DLG 对话框  
    · CTLCOLOR_EDIT 编辑控件  
    · CTLCOLOR_LISTBOX 列表框控件  
    · CTLCOLOR_MSGBOX 消息框  
    · CTLCOLOR_SCROLLBAR 滚动条控件  
    · CTLCOLOR_STATIC 静态控件  
     说明:
    当要画出一个子控件时,框架就调用这个成员函数。多数控件将这个消息发送到它们的父窗口(通常是一个对话框),为使用正确的颜色画出控件而准备pDC。
    要改变文本的颜色,使用要求的红、绿、蓝色值(RGB)调用SetTextColor成员函数。
    要改变单行编辑控件的背景颜色,在CTLCOLOR_EDIT和CTLCOLOR_MSGBOX消息代码中设置刷子句柄,并在响应CTLCOLOR_EDIT的代码中调用CDC::SetBkColor函数。
    不会为下拉组合框中的列表框调用OnCtlColor函数,因为下拉列表框实际上是组合框的子窗口,而不是窗口的子窗口。要改变下拉列表框的颜色,创建一个CcomboBox,在重载的OnCtlColor中的nCtlColor参数中检查CTLCOLOR_LISTBOX。在这个处理函数中,为设置文本的背景必须使用SetBkColor成员函数。注意:
    框架调用这个成员函数以允许你的应用程序处理一个Windows消息。传递给你的成员函数的参数反映了接收到消息时框架接收到的参数。如果你调用了这个函数的基类实现,则该实现将使用最初传递给消息的参数(而不是你提供给这个函数的参数)。
      

  3.   

    HBRUSH hBrush2=CreateSolidBrush(RGB(233,233,220));
    HBRUSH CTestHartDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor) 
    {
    HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);
    if(nCtlColor==CTLCOLOR_STATIC)
    {
    if(IDC_STATIC_MANUF!=pWnd->GetDlgCtrlID()){
    pDC->SetBkColor(RGB(233,233,220));
    return hBrush2;
    }
    }
    else if(nCtlColor==CTLCOLOR_DLG)
    {

    pDC->SetTextColor(RGB(0,0,0));
    pDC->SetBkColor(RGB(233,233,220));
    return hBrush2;
    } return hbr;
    }