• Windows程序设计 读书笔记 文本与字体


    一、字体类型:

      1,GDI字体。储存在硬盘文件里。

        1.1 点阵字体。又称位图字体。以位图象素图案的形式存储。不可随意缩放,优点是显示快,可读性好。每个点阵字体不超过6种大小。

        例:System,FixedSys,Terminal,Courier,MS Serif,MS Sans Serif,Small Fonts

        1.2 笔画字体。优点是随意缩放,缺点显示慢,小字体可读性差。适合绘图仪。

        例:Modern,Roman,Script

        1.3 TrueType字体,可以无极缩放,可以用于视频显示和打印机。

        例:Courier New ...,Times New Roman ...,Arial ...,Symol

      2,设备字体。输出设备所固有的。

    二、字符输出函数。

      SetTextAlign( nFlags)////注意: TA_UPDATECP指示TextOut中设置的x,y都无效,而是取前一次更改后的坐标。

      TextOut

      TabbedTextOut

      ExtTextOut

      DrawText

      DrawTextEx

      设备描述表:

        SetTextColor

        SetBkMode

        SetBkColor

        获取用户设置的系统颜色GetSysColor(COLOR_WINDOW...)

    CDC::SetTextCharacterExtra//字符间距

        SelectObject(hdc,GetStockObject(SYSTEM_FONT))

      一些函数:

      CreateFont或CreateFontIndirect //创建字体  

      GetTextFace //获取字体名

      BOOL GetTextMetrics( HDC hdc LPTEXTMETRIC lptm ); //获取当前字体信息

      BOOL GetTextExtentPoint32( HDC hdc, LPCTSTR lpString, int cbStringLPSIZE lpSize );//获取字符串尺寸。

      SetTextJustification (hdc,prc->right - prc->left - size.cx,cSpaceChars) ;//两段对其的时候用,接下来的cSpaceChars个空格要多平分(prc->right - prc->left - size.cx)的空间,一行结束后,要用SetTextJustification (hdc, 0, 0) ;消除上行产生的差错。

    三、LOGFONT结构体,成员说明:http://baike.baidu.com/view/2421591.html?fromTaglist

      通过LOGFONT可以设置很多字体信息。包括字体旋转。比如 lf.lfOrientation = 300 ; 转30度。

        GetObject (hFont, sizeof (LOGFONT), &lf) ;//获取LOGFONT

        hFont = CreateFontIndirect (&lf) ;//设置LOGFONT

    四、枚举字体 EnumFonts  EnumFontFamiliesEx

    五、选择字体 BOOL ChooseFont( LPCHOOSEFONT lpcf );

  • 相关阅读:
    刘若英和她的<<蝴蝶>>
    我的心情日记
    flash鼠标特效
    flash的播放器
    NoSQL数据存储引擎
    分享iphone开发的好网站,希望大家也能提供一些分享下
    创业经验总结
    产品经理之我见
    软件开发报价的计算方法
    Android实现号码归属地查询
  • 原文地址:https://www.cnblogs.com/aoyihuashao/p/1723708.html
Copyright © 2020-2023  润新知