创建了一个Static Text控件,并在其上面随机宣示一个整数,
CClientDC dc(this);
CFont font;
CFont *oldFont; num=rand()%100;
str.Format("%d",num); font.CreatePointFont(880,"华文彩云",&dc);
oldFont=dc.SelectObject(&font);
dc.SetTextColor(RGB(0,0,255)); GetDlgItem(IDC_STATIC)->SetWindowText(str); dc.SelectObject(oldFont);运行后字体颜色、大小都没有改变~~~~~~~~~~~~~~谁知道怎么回事啊,还有没有什么其他方法,最好给个例子

解决方案 »

  1.   

    你如果用dc.TextOut就可以看到效果了,而你设置的DC的属性和控件一点关系也没有。
      

  2.   

    如果只是改控件的话,直接SetFont就可以了
      

  3.   

    可以直接向窗口发送WM_SETFONT消息:lResult = SendMessage(      // returns LRESULT in lResult
         (HWND) hWndControl,      // handle to destination control
         (UINT) WM_SETFONT,      // message ID
         (WPARAM) wParam,      // = (WPARAM) () wParam;
        (LPARAM) lParam      // = (LPARAM) () lParam;
      

  4.   

    如何改变对话框中静态文本的字体大小http://www.china-askpro.com/msg7/qa14.shtml
      

  5.   

    CFont font;
    font.CreateFont(*********);
    GetDlgItem(IDC_XXXX)->SetFont(&font);
      

  6.   

    建议重载父类的OnCtlColor函数,在里面进得处理 会方便很多
      

  7.   

        CClientDC dc(this);
        CFont font;
        CFont *oldFont;    num=rand()%100;
        str.Format("%d",num);    font.CreatePointFont(880,"华文彩云",&dc);
        oldFont=dc.SelectObject(&font);
        dc.SetTextColor(RGB(0,0,255));    dc.DrawText(str,rcClient,DT_LEFT|DT_TOP);//添加    //GetDlgItem(IDC_STATIC)->SetWindowText(str);?????????
        dc.SelectObject(oldFont);
    =========================================================  
    上海勇进软件有限公司 CTO 阙海忠 敬答各位界面爱好者的问题  
    公司网站:http://www.uipower.com
      

  8.   

    你的设备描述表是获得了,也确实是调整属性了
    但是你没有用到。呵呵,就像是楼上标识出的。
    应该使用dc.****()。而不是setwindowtext()