📄 subject_48827.htm
字号:
<p>
序号:48827 发表者:moonczx 发表日期:2003-08-04 10:26:14
<br>主题:字体的问题
<br>内容:在用GDI 的TextOut输出字体时怎样改变字体的大小,本人用了CreateFont函数,怎么不管参数Heinght设成多少,输出的字体还是系统默认的大小呢,那位有例程可以参考。
<br><a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p>
<hr size=1>
<blockquote><p>
回复者:ben 回复日期:2003-08-04 10:39:44
<br>内容:应该象画笔一样操作,需要先pDC->SelectObject(&font)
<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-08-04 12:16:36
<br>内容:上面的仁兄说得对
<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-08-04 13:50:39
<br>内容: CFont font;<BR> VERIFY(font.CreateFont(<BR> 24, // nHeight<BR> 0, // nWidth<BR> 0, // nEscapement<BR> 0, // nOrientation<BR> FW_NORMAL, // 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> _T("宋体"))); // lpszFacename<BR> <BR> // Use the font which you just created.<BR> CClientDC dc(this); <BR> CFont* def_font = dc.SelectObject(&font);<BR> dc.ExtTextOut(5, 5, ETO_OPAQUE, NULL, _T("新字体"), NULL);<BR> dc.SelectObject(def_font);<BR> <BR> // Finished with the font, now delete the font object.<BR> font.DeleteObject();
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:moonczx 回复日期:2003-08-04 16:40:12
<br>内容:我说的是不用Vc的类,直接用api函数,我用了CreateFont函数,但是不管我怎么设置参数,最后输出的字体都是系统默认值,请问这是怎么回事
<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-08-04 17:01:12
<br>内容:为创建自己的字体,可使用CreateFont( ) API函数,其原型如下:HFONT CreateFont(int Height,int Width,int Escapement, int Orientation,int Weight, DWORD Ital,DWORD Underline,DWORD StrikeThru,DWORD Charset,DWORD Precision,DWORD ClipPrecision, DWORD Quality,DWORD PitchFam, LPCSTR TypefaceName);字体的高度在Height中传递。如果Height为0,则使用缺省值。字体的宽度在Width中指定。如Width为0,则Windows基于当前的比例选择某一适当的值。Height和Width的单位都是逻辑单位。
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
<font color=red>答案被接受</font><br>回复者:大橡胶 回复日期:2003-08-05 08:45:23
<br>内容:<BR>CreateFont只是返回一个结构体数据的地址,换言之,它只是按你要求构造了你所需要的东东,但你可能没有把它应用起来<BR><BR>HFONT hNewFont, hOldFont;<BR>HDC hDC;<BR>hDC = ::GetDC(hWnd);//拿一张画纸<BR>hNewFont = ::CreateFont(...);//制造一支心目中的笔<BR>hOldFont = ::GetCurrentObject(hDC, OBJ_FONT);//把旧笔保存好(如果有的话)<BR>::SelectObject(hDC, hNewFont);//把新笔用上去<BR>::TextOut(hDC,....); //尽情地用你的笔来画吧<BR>....<BR>::SelectObject(hDC, hOldFont);//是时候还笔了<BR>//为什么那么多::四点生怕人家不知这是Win API吗?
<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 + -