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();
	}

posted @ 2016-04-02 18:49  博客园新新新新人  阅读(1856)  评论(0编辑  收藏  举报