📄 subject_29849.htm
字号:
<p>
序号:29849 发表者:凌仕晓 发表日期:2003-02-14 11:49:12
<br>主题:各位大虾看看,谁对这个有研究?????
<br>内容:请看这三段代码(关于改变字体的):<BR><BR>//代码段一:<BR> CFontDialog fd(NULL,CF_EFFECTS|CF_SCREENFONTS,NULL,NULL);<BR> LOGFONT lf;<BR> CFont *pFont=new CFont;<BR> fd.GetCurrentFont(&lf); <BR> lf.lfHeight=30;<BR> lf.lfWidth=18;<BR> lf.lfWeight=800;<BR> strcpy(lf.lfFaceName,"隶书");//好多书上也是这样写的;<BR> pFont->CreateFontIndirect(&lf);<BR> Edit.SetFont(pFont,TRUE);//Edit是编辑框的Ctrl型变量;<BR>//执行后,只是字号比默认的大,字体为宋体,即lfFaceName没有改变.<BR>//代码段二:<BR> CFont *pFont=new CFont;<BR> VERIFY(font.CreateFont(<BR> 30, // nHeight<BR> 18, // nWidth<BR> 0, // nEscapement<BR> 0, // nOrientation<BR> 800, // nWeight<BR> FALSE, // bItalic<BR> FALSE, // bUnderline<BR> 0, // cStrikeOut<BR> ANSI_CHARSET, // nCharSet<BR> OUT_DEFAULT_PRECIS, // nOutPrecision<BR> CLIP_DEFAULT_PRECIS, // nClipPrecision<BR> DEFAULT_QUALITY, // nQuality<BR> DEFAULT_PITCH | FF_SWISS, // nPitchAndFamily<BR> "隶书")); // lpszFacename<BR> Edit.SetFont(pFont,TRUE);<BR>//执行效果同代码段一;<BR>//可下面又是可以的;<BR>//代码段三:<BR> CFontDialog fd(NULL,CF_EFFECTS|CF_SCREENFONTS,NULL,NULL);<BR> LOGFONT lf;<BR> CFont *pFont=new CFont;<BR> if(fd.DoModal()==IDOK)<BR> fd.GetCurrentFont(&lf);<BR> lf.lfHeight=30;<BR> lf.lfWidth=18;<BR> lf.lfWeight=800;<BR> s.Format("%s",lf.lfFaceName);<BR> AfxMessageBox(s); //我在字体选择框中选择隶书,这里弹出的是隶书两个字;<BR> pFont->CreateFontIndirect(&lf);<BR> Edit.SetFont(pFont,TRUE);<BR>//这下可以把字体设为隶书,为了仔细了解lfFaceName的情况,我加入了下面代码测试:<BR> for(int i=0;i<32;i++)//查了一下,都讲lfFaceName为32个字符.<BR> {<BR> CString s;<BR> s.Format("%d",lf.lfFaceName[i]);<BR> AfxMessageBox(s);<BR> } <BR><BR>//总共弹了32下,<BR>//第一下(N[0])上面什么都没有,二(N[1]):-63,三(N[2]):-91,四:-54,五:-23,六:0,七:0......0<BR>//(一直到第32下即lfFaceName[31]都是 0 ;<BR>//可见N[1]~N[4]为隶书两字,N[5]以后为'\0'(字符串尾的那个空字符);<BR>//那N[0] 是一个什么东西呢,我用 '\0',NULL 都和它比了一下,都不相同.<BR><BR>//哪位大虾对此有研究,不妨指点一二,我对此控索了好多时日了,不得解!!!!!!!!!!<BR><BR>
<br><a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p>
<hr size=1>
<blockquote><p>
<font color=red>答案被接受</font><br>回复者:问不休 回复日期:2003-02-14 13:40:15
<br>内容: 是语系设置的问题。<BR> 代码段1实际上没有使用字体设置对话框,函数GetCurrentFont()返回的是系统默认语系字体。<BR> 正如代码段2所示系统默认语系为ANSI_CHARSET。<BR> 修改语系为CHINESE-GB2312即可。
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:凌仕晓 回复日期:2003-02-14 19:25:59
<br>内容:谢谢你的指点,非常感谢,不过我试了charset应该为GB2312_CHARSET.
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -