一般对话框文字没有特定处理的话是固定的,所以奇怪,求解

解决方案 »

  1.   

    你是VC6吧,VC6新建了一个对话框以后,需要设置对话框的默认字体为宋体9号还是10号,这样就跟你主对话框一样了。
      

  2.   

    会不会有地方向DC设置了字体,但这个字体句柄是局部量,这可能导致这种现象。
    DC对字体的使用是有延时的,所以与画笔、画刷等不同,字体必须是成员量或全局量。
      

  3.   

    你可能在什么地方画图用了新字体,而又没有恢复原来的老字体一般用字体要这样CFont font,*oldfont;
    ......................
    oldfont=dc.SelectObject(&font);
    ............................dc.SelectObject(oldfont);
      

  4.   

    我只是设置了CListCtrl中的文字颜色,但是并不经常出现的
      

  5.   


    准确的说是GDI对象未释放,在任务管理器的进程一页,稍微设置一下,可以看到GDI对象计数。
    如果程序运行过程中此计数一直增长而不下降,就是有问题了,严重的会导致程序崩溃。
      

  6.   

    弄个测试按钮 把窗体上那个不正常static的字体messagebox出来 看看是否真的是字体被改变了
      

  7.   

    问题 是怎么调试对话框的某些静态文字的字体呢?静态文本的DC怎么得到呢,其ID为IDC—STATIC
      

  8.   

    可能是你的程序使用了系统默认字体   可以在属性里面 看下主程序的默认字体选项
    如果不可以尝试以下方法CStatic是Cwnd的派生类 
    CWnd* GetDlgItem( int nID ) const;
    获取窗口指针
    CDC* GetDC( );
    获取绘图DC如还有问题 可将程序发送至[email protected] 帮你看下
      

  9.   

    哦对了  你可以用GetDlgItem( int nID )->SetFont(CFont* pFont); 控件ID要改一下
      

  10.   

    GDI资源没有释放会造成这种问题,看看绘制部分
      

  11.   

    实际上软件以前不会出现的,这是增加了一个报警显示的对话框,里面的CListCtr的字体颜色用SetFonT设置了一下,就有可能偶然出现这样的问题,我一直也怀疑DC问题,但是设置其中字体颜色会产生这样的问题吗?