怎么控制不同分辨率下的字体?在其他电脑上分辨率下运行,结果字体变大了!我想控制界面和字体大小都不变,应该怎么做?需要读取分辨率??

解决方案 »

  1.   

    参考下:
    http://topic.csdn.net/u/20101021/09/f2c4db2e-5b7e-42f3-a862-ace77a05f818.html
      

  2.   

    我觉得楼主可以自定义一个参数,用switch语句依靠分辨率设计字体的大小(CFont);
    分辨率读取方法:
    int     nFullWidth=GetSystemMetrics(SM_CXSCREEN);     
    int     nFullHeight=GetSystemMetrics(SM_CYSCREEN);
      

  3.   

    CDC类中有一个GetTextExtent,函数是你想要的,在不同的设备下,字体大小不一样的 
      

  4.   

    补充下,改变字体大小的方法
    在OnInitDialog方法中增加下列语句也可以实现:       CFont* ptf=m_editPlace.GetFont(); // 得到原来的字体       LOGFONT lf;        ptf->GetLogFont(&lf);        lf.lfHeight = 20; // 改变字体高度        strcpy (lf.lfFaceName, "隶书"); // 改变字体名称        m_editFont.CreateFontIndirect(&lf);        m_editPlace.SetFont(&m_editFont); // 设置新字体