|
|
|
VC中特殊字体的实现方法讲解(2) |
|
|
作者:未知 来源:未知 加入时间:2006-3-8 人气:67 |
空心字:
// 获得窗口的客户区设备上下文句柄
CClientDC dc(this);
// 更改当前字体
LOGFONT lf;
dc.GetCurrentFont()->GetLogFont(lf);
CFont font;
CFont *pOldFont; // 保存设备上下文最初使用的字体对象
lf.lfCharSet=134;
lf.lfHeight=-150;
lf.lfWidth=0;
strcpy(lf.lfFaceName, "隶书");
font.CreateFontIndirect(lf);
pOldFont=dc.SelectObject(&font);
dc.SetBkMode(TRANSPARENT);
// 更改当前画笔
CPen pen(PS_SOLID, 1, RGB(255, 0, 0));
CPen *pOldPen;
pOldPen=dc.SelectObject(pen);
// 开始一个路径
dc.BeginPath();
dc.TextOut(10, 130, "空心字");
dc.EndPath();
// 绘制路径
dc.StrokePath();
// 恢复设备上下文的原有设置
dc.SelectObject(pOldFont);
dc.SelectObject(pOldPen);
立体字:在实现3D文字时一般不使用缺省的字体设置,而是通过对字体的设置而使产生的3D文字在视觉上更美观
// 获得窗口的客户区设备上下文句柄
CClientDC dc(this);
//定义字体属性
LOGFONT lf;
lf.lfHeight = 50;
lf.lfWidth = 0;
lf.lfEscapement = 0;
lf.lfOrientation = 0;
lf.lfWeight = FW_HEAVY;
lf.lfItalic = FALSE;
lf.lfUnderline = FALSE;
lf.lfStrikeOut = FALSE;
lf.lfCharSet = GB2312_CHARSET;
strcpy(lf.lfFaceName,"幼圆");

|
|
相关文章:VC中特殊字体的实现方法讲解(3)VC中特殊字体的实现方法讲解(1)
相关软件:
|
|
|