zoukankan      html  css  js  c++  java
  • 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 );

  • 相关阅读:
    (转载)MP3 编码解码 附完整c代码
    (转载) 一个大概的框架
    (转载)音视频相关的书籍,多媒体技术
    js原生选项卡切换
    点击div删除div本身
    鼠标移入旋转动画
    鼠标移入,改变border颜色
    小白初建博客!
    java设计模式--六大原则
    java设计模式--策略模式
  • 原文地址:https://www.cnblogs.com/aoyihuashao/p/1723708.html
Copyright © 2011-2022 走看看