搜索
首页 电脑/网络 软件

vc增加字体

怎么增加一种字体到vc中 它包含的字体太少了

全部回答

2018-04-27

1 0
    这是详细说明:渐变字://获得窗口的客户区设备上下文句柄CClientDCdc(this);//更改当前字体LOGFONTlf;dc。GetCurrentFont()->GetLogFont(lf);CFontfont,*pOldFont;lf。
  lfCharSet=134;lf。  lfHeight=-150;lf。lfWidth=0;strcpy(lf。lfFaceName,"隶书");font。CreateFontIndirect(lf);pOldFont=dc。
  SelectObject(&font);dc。SetBkMode(TRANSPARENT);//更改当前画笔为空CPenpen(PS_NULL,1,RGB(255,0,0)),*pOldPen;pOldPen=dc。
    SelectObject(pen);//更改当前刷子CBrushbr,*pOldBrush;pOldBrush=dc。SelectObject(br);//开始一个路径dc。
  BeginPath();dc。TextOut(10,10,"渐变字");dc。EndPath();//绘制渐变效果dc。  SelectClipPath(RGN_COPY);for(inti=255;i>0;i--){intiRadius=(600*i)/255;dc。
  SelectObject(pOldBrush);br。DeleteObject();br。CreateSolidBrush(RGB(255,i,0));dc。  SelectObject(br);dc。
  Ellipse(-iRadius,-iRadius/3,iRadius,iRadius/3);}//恢复设备上下文的原有设置dc。SelectObject(pOldFont);dc。SelectObject(pOldPen);dc。
    SelectObject(pOldBrush);空心字://获得窗口的客户区设备上下文句柄CClientDCdc(this);//更改当前字体LOGFONTlf;dc。
  GetCurrentFont()->GetLogFont(lf);CFontfont;CFont*pOldFont;//保存设备上下文最初使用的字体对象lf。  lfCharSet=134;lf。
  lfHeight=-150;lf。lfWidth=0;strcpy(lf。lfFaceName,"隶书");font。CreateFontIndirect(lf);pOldFont=dc。SelectObject(&font);dc。
    SetBkMode(TRANSPARENT);//更改当前画笔CPenpen(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文字在视觉上更美观//获得窗口的客户区设备上下文句柄CClientDCdc(this);//定义字体属性LOGFONTlf;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,"幼圆");//创建字体CFontfont;font。CreateFontIndirect(lf);//更改当前字体CFont*pOldFont=dc。SelectObject(&font);//绘制字体dc。
    SetBkMode(TRANSPARENT);dc。SetTextColor(::GetSysColor(COLOR_3DDKSHADOW));dc。TextOut(10,10,"立体字");dc。
  SetTextColor(::GetSysColor(COLOR_3DHILIGHT));dc。  TextOut(13,7,"立体字");//恢复设备上下文的原有设置dc。
  SelectObject(pOldFont);旋转字:通过设置字体与X轴的倾斜角度(十分之一度为一个单位)//获得窗口的客户区设备上下文句柄 CClientDCdc(this);//定义字体属性LOGFONTlf;lf。
    lfHeight=50;lf。lfWidth=0;lf。lfEscapement=300;//倾斜30度,十分之一度为单位lf。lfOrientation=0;lf。lfWeight=FW_HEAVY;竖写汉字的实现方法:   1。
  建立一个MFC AppWizard(exe)应用工程CHNfont。  在MFC AppWizard向导的第一步中选择Single Document,再点击按键Finish->OK完成工程的建立。
     2。在CMainFrame::OnCreate函数中添加如下代码,使窗体最大化。AfxGetMainWnd()->ShowWindow(SW_SHOWMAXIMIZED);   3。
    添加如下代码实现竖写功能。 void CChildView::OnPaint() {CPaintDC dc(this);// device context for painting/////// 利用CFont::CreateFont(。
  。。)函数实现竖写汉字////////CFont myFont; //创建字体对象//创建逻辑字体myFont。  CreateFont(              56, //字体高度(旋转后的字体宽度)=56               20, //字体宽度(旋转后的字体高度)=20              2700, //字体显示角度=270°              0, //nOrientation=0              10, //字体磅数=10              FALSE, //非斜体              FALSE, //无下划线              FALSE, //无删除线              DEFAULT_CHARSET, //使用缺省字符集              OUT_DEFAULT_PRECIS, //缺省输出精度              CLIP_DEFAULT_PRECIS,//缺省裁减精度               DEFAULT_QUALITY, //nQuality=缺省值              DEFAULT_PITCH, //nPitchAndFamily=缺省值              "@system"); //字体名=@systemCFont *pOldFont=dc。
    SelectObject(&myFont);//选入设备描述表CRect rtClient;GetClientRect(rtClient); //获取客户区尺寸、位置信息//在客户区适当位置输出文字dc。
  TextOut(rtClient。Width()/2 30,rtClient。  Height()/8, "无边落木萧萧下");dc。SelectObject(pOldFont); //将myFont从设备环境中分离myFont。
  DeleteObject(); //删除myFont对象/////////// 利用LOGFONT结构实现竖写汉字//////////////LOGFONT lf; //定义字体结构lf。
    lfWeight=10; //字体磅数=10lf。lfHeight=56; //字体高度(旋转后的字体宽度)=56 lf。lfWidth=20; //字体宽度(旋转后的字体高度)=20lf。
    lfUnderline=FALSE; //无下划线lf。lfStrikeOut=FALSE; //无删除线lf。lfItalic=FALSE; //非斜体lf。
  lfEscapement=2700; //字体显示角度=270°lf。  lfCharSet=DEFAULT_CHARSET; //使用缺省字符集 strcpy(lf。
  lfFaceName,"@system"); //字体名=@system CFont myLogFont; //定义字体对象myLogFont。  CreateFontIndirect(&lf); //创建逻辑字体pOldFont=dc。
  SelectObject(&myLogFont);//选入设备描述表//在客户区适当位置输出文字dc。TextOut(rtClient。Width()/2-30,rtClient。  Height()/8, "不尽长江滚滚来");dc。
  SelectObject(pOldFont); //将myFont从设备环境中分离myLogFont。DeleteObject(); //删除myLogFont对象 }。  。
  

类似问题换一批

热点推荐

热度TOP

相关推荐
加载中...

热点搜索 换一换

电脑/网络
软件
硬件
电脑装机
程序设计
互联网
操作系统/系统故障
笔记本电脑
反病毒
百度
软件
软件
多媒体软件
系统软件
办公软件
网络软件
图像处理软件
举报
举报原因(必选):
取消确定举报