谢谢!

解决方案 »

  1.   

    帮你UP一下,我只知道怎么判断。
    Study...
      

  2.   

    自己填充LOGFONT结构
    然后用CFont类, 创建字体CreateFontIndirect(&youlogfont);
    选入字体pDC->SelectObject(&youfont);
    如果不恢复原有字体, 系统字体(原默认的dc)就被改变了
      

  3.   

    我的意思是修改Windows本身的大字体、小字体,主要是为设计的程序在不同分辨率、不同字体的系统上显示一样的大小!
      

  4.   

    我认为使用SystemParametersInfo函数进行修改系统中的信息,具体改哪一项你自己试一下,不过,在你的程序退出时记得修改回来啊!
      

  5.   

    单的步骤:在Windows中,每个窗体都有自己的字体.要改变其字体首先要CFont::CreateFont创建一个字体,然后用CWnd::SetFont选择此字体,赋给控件.但很多人可能会因为CreateFont的参数之多,望而却步.下面我介绍一下参数.  函数原型:
      BOOL CreateFont( int nHeight, int nWidth, int nEscapement, int nOrientation, int nWeight, BYTE bItalic, BYTE bUnderline, BYTE cStrikeOut, BYTE nCharSet, BYTE nOutPrecision, BYTE nClipPrecision, BYTE nQuality, BYTE nPitchAndFamily, LPCTSTR lpszFacename );
      
      参数说明:
      nHeight         :字体高度.>0:字体的高度值;=0:字体采用缺省直.<0:此值的绝对值为高度.
      nWidth          :字体宽度.
      nEscapement     :文本行的倾斜度.
      nOrientation    :字符基线的倾斜度.
      nWeight         :字体的粗细.如下:
        .FW_DONTCARE
        .FW_THIN
        .FW_EXTRALIGHT
         .....
      bItalic         :字体是否为斜体
      bUnderline      :字体是否带下划线
      cStrikeOut      :字体是否带删除线
      nCharSet        :字体的字符集
        .ANSI_CHARSET
        .DEFAULT_CHARSET
        .SYMBOL_CHARSET
         ......
      nOutPrecision   :字符的输出精度
      nClipPrecision  :字符裁剪的精度
      nQuality        :字符的输出质量
      nPitchAndFamily :字符间距和字体族(低位说明间距,高位说明字符族)
      lpszFacename    :字体名称详见
    http://www.vckbase.com/bbs/prime/viewprime.asp?id=33
      

  6.   

    SendMessage(hwnd, WM_SETFONT, (WPARAM)hFont, MAKELPARAM(FALSE, 0));
      

  7.   

    使用函数ChangeDisplaySettingsEx()或ChangeDisplaySettings()可以改变系统显示方面的各种参数,包括分辨率也可以修改成你需要的大小.试一试你就知道了,用途多多!
      

  8.   

    将当前显示器的分辨率设为800X600
    DEVMODE lpDevMode;
      lpDevMode.dmPelsWidth=800;
      lpDevMode.dmPelsHeight=600;
      lpDevMode.dmSize=sizeof(lpDevMode);
      lpDevMode.dmFields =DM_PELSWIDTH|DM_PELSHEIGHT|DM_BITSPERPEL;
      

  9.   

    将当前显示器的分辨率设为800X600
    DEVMODE lpDevMode;
      lpDevMode.dmPelsWidth=800;
      lpDevMode.dmPelsHeight=600;
      lpDevMode.dmSize=sizeof(lpDevMode);
      lpDevMode.dmFields =DM_PELSWIDTH|DM_PELSHEIGHT|DM_BITSPERPEL;
      LONG result;
      result=ChangeDisplaySettings(&lpDevMode,0);
      if (result==DISP_CHANGE_SUCCESSFUL)
      {
      AfxMessageBox("修改成功!");
         }
      

  10.   

    多谢各位,分辨率已经可以修改,我要改的是系统字体,我估计跟注册表有关系,不然,不会每次修改字体都提示重新启动,不管win98还是win2000!