同上

解决方案 »

  1.   

    大虾们帮忙
    一本书上说控件也是窗口所以可以调用CWnd::SetFont()
    现在对话框的.h里定义一个变量
    private : Cfont m_font;
    但是编译出错 不认Cfont型,也就是控件没有继承CWnd
    但是添加一个父类CWnd却又出错说已经基于CDilog类了这是怎末回事?!?!?
      

  2.   

    哦,是吗?我再瞧瞧
    还有更改颜色
    我就家了着末一句代码就不行了
    HBRUSH CCrlDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor) 
    {
    HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);

    if (nCtlColor= = CTLCOLOR_EDIT )
     pDC —> SetTextColor (RGB (255, 0 , 0 , ) ) return hbr;
    }
    一编译就没信儿了
    什末东西也不出
    关也关不了
    一关就说正在编译不能关
      

  3.   

    HBRUSH CSYJDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor) 
    {
    HBRUSH B = CreateSolidBrush(RGB(0,0,0)); //COLOR是你想设置的颜色  switch (nCtlColor)

    // case CTLCOLOR_EDIT:
    // case CTLCOLOR_MSGBOX:
    // case CTLCOLOR_DLG : 
    case CTLCOLOR_EDIT : //在此加入你想要改变背景色的控件消息 return (HBRUSH) B;
    default: //其他控件设置自己默认的颜色和背景刷.
    return CDialog::OnCtlColor(pDC, pWnd, nCtlColor); }
    }
      

  4.   

    HBRUSH CgameDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
    {
    HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor); // TODO:  在此更改 DC 的任何属性
    pDC->SetBkColor(RGB(255,128,0));
    return ::CreateSolidBrush(RGB(255,128,0));
    }SetBkColor()与HBrush同样颜色
      

  5.   

    谢谢lemon:)
    但是按钮的颜色怎末设呀?字体,我想对控件单独设置
    有人指点是这样
    先在头文件里定义CFont m_font然后在
    BOOL CContrlDlg::OnInitDialog()
    {
    (82) m_font . CreateFont (MulDiv (8 , -pDC—GceCapsLOGPIXELSY) ,72).  0 , 0 , 0 ,
    (83) FW_NORMAL ,0 ,0,0, ANSI_CHARSER, OUT_STROKE_PRECIS ,
    (84) CLIP_STROKE _PRECIS , DRAFT _QUALITY
    (85) VARIABLE_PITCH |FF_SWISS, _T("Arial") );
      
      m_wndButton . SetFont (&m _font );
    }
    但是编译出错
    说pDC没定义
    我就在前面加了一句 CDC* pDC=GetDC();
    但还是有错如下:F:\Vc\EX_color\ContrlDlg.cpp(82) : error C2143: syntax error : missing ')' before 'constant'
    F:\Vc\EX_color\ContrlDlg.cpp(82) : error C2660: 'CreateFontA' : function does not take 1 parameters
    F:\Vc\EX_color\ContrlDlg.cpp(85) : error C2059: syntax error : ')'大虾再给看一下:)