使用CFontDialog初始化CRichEditCtrl字体后,输入中文字体怎么是横向的,查了Cfontdiglog中的字体设置中文也是横向的!   请大神门知道下怎么回事,很纠结呀!

解决方案 »

  1.   

    你把CFontDialog获取到的字体的facename打印出来 或者在调试窗口看看是否以@开头
      

  2.   

    我查了,如果设置的西文字符没事,像宋体,隶属就不行是以@开头的,但文字为什么会是那样的输出呢!部分代码如下:
                    LOGFONT lf;
    memset(&lf, 0, sizeof(LOGFONT));
    lf.lfCharSet = cf2.bCharSet;
    lf.lfHeight = cf2.yHeight/15;
    lf.lfPitchAndFamily = cf2.bPitchAndFamily;
    lf.lfItalic = bIsItalic;
    lf.lfWeight = (bIsBold ? FW_BOLD: FW_NORMAL);
    lf.lfUnderline = bIsUderline;
    strcpy(lf.lfFaceName, cf2.szFaceName); CFontDialog ftDlg(&lf);
    ftDlg.m_cf.rgbColors = cf2.crTextColor; if (ftDlg.DoModal() == IDOK)
    {
    CHARFORMAT2 cf2;
    cf2.cbSize = sizeof(CHARFORMAT2);
    cf2.dwMask = CFM_BOLD|CFM_CHARSET|CFM_COLOR|CFM_ITALIC|CFM_OFFSET|
    CFM_PROTECTED|CFM_PROTECTED|CFM_SIZE|CFM_STRIKEOUT|CFM_UNDERLINE;
    ftDlg.GetCharFormat(cf2);
    m_SendList.SetDefaultCharFormat(cf2);
                   }