vc++使用GDI创建字体输出
Posted 博客园新新新新人
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了vc++使用GDI创建字体输出相关的知识,希望对你有一定的参考价值。
CString strOut[4]; //字义输出的文字 strOut[0] = "1.使用函数 CreatePointFont()创建宋体字"; strOut[1] = "2.使用函数 CreateFontIndirect()创建倾斜、带下划线的黑体字"; strOut[2] = "3.使用函数 CreateFont()创建带删除线的大号字体"; strOut[3] = "4.使用库存字体对象创建 ANSI标准的等宽字体"; //创建两个字体对象 CFont *OldFont, NewFont; LOGFONT MyFont = { 30, 10, 0, 0, 0, 1, 1, 0, ANSI_CHARSET, OUT_DEFAULT_PRECIS, CLIP_DEFAULT_PRECIS, DEFAULT_QUALITY, DEFAULT_PITCH, "黑体" }; pDC->TextOut(0, 10, "创建字体的几种方法: "); //显示几种不同效果的字体 for(int i = 0;i < 4;i++) { switch(i) { case 0: //使用函数 CreatePointFont()创建字体 NewFont.CreatePointFont(200, "宋体", NULL); break; case 1: //使用函数 CreateFontIndirect()创建字体 NewFont.CreateFontIndirect(&MyFont); break; case 2: NewFont.CreateFont(30, 10, 0, 0, FW_HEAVY, FALSE, FALSE, TRUE, ANSI_CHARSET, OUT_DEFAULT_PRECIS, CLIP_DEFAULT_PRECIS, DEFAULT_QUALITY, DEFAULT_PITCH | FF_DONTCARE, "大号字"); break; case 3: //使用库存字体对象创建字体 pDC->SelectStockObject(ANSI_FIXED_FONT); break; default: break; } OldFont = pDC->SelectObject(&NewFont); pDC->TextOut(0, 60 * (i+1), strOut[i]); pDC->SelectObject(OldFont); NewFont.DeleteObject(); }
以上是关于vc++使用GDI创建字体输出的主要内容,如果未能解决你的问题,请参考以下文章
GDI+ - 为啥 MeasureString 函数使用 Courier 字体失败?