VC使用CFont创建字体的方法归纳

2012-02-10 21:23:45|?次阅读|上传:wustguangh【已有?条评论】发表评论

关键词:C/C++, 界面设计|来源:唯设编程网

Windows提供了多种与设备无关的不同尺寸的字体。有效地使用这些Windows字体,不用在编程时下很大功夫,就可以明显地增强各种应用程序的功能。字体是Windows GDI必要的组成部分,这意味字体的使用与其他GDI对象一样。它们可以缩放和剪切,可以像选取画笔或者画刷一样选取设备环境。所有关于撤消选中和删除的GDI规则都适用于字体。
字体由CFont类进行管理,创建CFont类必须使用CFont类的成员函数,这点与CPen和CBrush有所不同。

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,"创建字体的几种方法:");
switch(i)
{
case 1:
    //使用函数CreatPointFont()创建字体
    NewFont.CreatePointFont(200,"宋体",NULL);
    break;
case 2:
    //使用函数CreateFontIndirect()创建字体
    NewFont.CreateFontIndirect(&MyFont);
    break;
case 3:
    //使用函数CreateFont()创建字体
    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 4:
    //使用库存字体对象创建字体
    pDC->SelectStockObject(ANSI_FIXED_FONT);
    break;
}
OldFont=pDC->SelectObject(&NewFont);
pDC->TextOut(0,60*i,outstr[i]);
pDC->SelectObject(OldFont);
NewFont.DeleteObject();
发表评论0条 】
网友评论(共?条评论)..
VC使用CFont创建字体的方法归纳