CHARFORMAT2 structure

包含在丰富的编辑控件中的字符格式设置的信息。charformat2是微软丰富的编辑CHARFORMAT结构2扩展。微软丰富的编辑2允许您使用结构与em_getcharformat和em_setcharformat消息。 

Contains information about character formatting in a rich edit control. CHARFORMAT2 is a Microsoft Rich Edit 2.0 extension of the CHARFORMAT structure. Microsoft Rich Edit 2.0 allows you to use either structure with the EM_GETCHARFORMAT and EM_SETCHARFORMAT messages.

Syntax

复制
typedef struct _charformat2 {
UINT     cbSize;
DWORD    dwMask;
DWORD    dwEffects;
LONG     yHeight;
LONG     yOffset;
COLORREF crTextColor;
BYTE     bCharSet;
BYTE     bPitchAndFamily;
TCHAR    szFaceName[LF_FACESIZE];
WORD     wWeight;
SHORT    sSpacing;
COLORREF crBackColor;
LCID     lcid;
#if (_RICHEDIT_VER >= 0x0500)
union {
DWORD dwReserved;
DWORD dwCookie;
};
#else
DWORD    dwReserved;
#endif
SHORT    sStyle;
WORD     wKerning;
BYTE     bUnderlineType;
BYTE     bAnimation;
BYTE     bRevAuthor;
#if (_RICHEDIT_VER >= 0x0800)
BYTE     bUnderlineColor;
#endif
} CHARFORMAT2;

Members

cbSize

Type: UINT

指定的大小,以字节为单位的结构。之前将该结构传递给 rich edit 控件,将字节设置为CHARFORMATCHARFORMAT2结构的大小。如果字节等于CHARFORMAT结构的大小,则控件使用只有CHARFORMAT成员。

dwMask

类型︰ dword 值

指定包含有效信息CHARFORMAT2结构的部件。DwMask成员可以从两个集中的位标志值的组合。一套指示是有效的结构成员。另一套指示中性格的成员的有效属性。

设置以下值,以指示性格的成员的有效属性。

价值 意义
CFM_ALL

下列值的组合︰ CFM_EFFECTS |CFM_SIZE |CFM_FACE |CFM_OFFSET |CFM_CHARSET

CFM_ALL2

下列值的组合︰ CFM_ALL |CFM_EFFECTS2 |CFM_BACKCOLOR |CFM_LCID |CFM_UNDERLINETYPE |CFM_WEIGHT |CFM_REVAUTHOR |CFM_SPACING |CFM_KERNING |CFM_STYLE |CFM_ANIMATION |CFM_COOKIE

CFM_ALLCAPS

CFE_ALLCAPS值是有效的。

CFM_EFFECTS

下列值的组合︰ CFM_EFFECTS2 |CFM_FONTBOUND |CFM_EXTENDED |CFM_MATHNOBUILDUP |CFM_MATH |CFM_MATHORDINARY

CFM_BOLD

CFE_BOLD值是有效的。

CFM_COLOR

CFE_AUTOCOLOR值是有效的或crTextColor成员是有效的。

CFM_COOKIE

DwCookie值是有效的。

CFM_DISABLED

CFE_DISABLED值是有效的。

CFM_EXTENDED

CFE_EXTENDED值是有效的。

CFM_EFFECTS

下列值的组合︰ CFM_BOLD |CFM_ITALIC |CFM_UNDERLINE |CFM_COLOR |CFM_STRIKEOUT |CFE_PROTECTED |CFM_LINK

CFM_EFFECTS2

下列值的组合︰ CFM_EFFECTS |CFM_DISABLED |CFM_SMALLCAPS |CFM_ALLCAPS |CFM_HIDDEN |CFM_OUTLINE |CFM_SHADOW |CFM_EMBOSS |CFM_IMPRINT |CFM_REVISED |CFM_SUBSCRIPT |CFM_SUPERSCRIPT |CFM_BACKCOLOR

CFM_EMBOSS

CFE_EMBOSS值是有效的。

CFM_FONTBOUND

CFE_FONTBOUND值是有效的。

CFM_HIDDEN

CFE_HIDDEN值是有效的。

CFM_IMPRINT

CFE_IMPRINT值是有效的。

CFM_ITALIC

CFE_ITALIC值是有效的。

CFM_LINK

CFE_LINK值是有效的。

CFM_LINKPROTECTED

CFE_LINKPROTECTED值是有效的。

CFM_MATH

CFE_MATH值是有效的。

CFM_MATHNOBUILDUP

CFE_MATHNOBUILDUP值是有效的。

CFM_MATHORDINARY

CFE_MATHORDINARY值是有效的。

CFM_OUTLINE

CFE_OUTLINE值是有效的。

CFM_PROTECTED

CFE_PROTECTED值是有效的。

CFM_REVISED

CFE_REVISION值是有效的。

CFM_SHADOW

CFE_SHADOW值是有效的。

CFM_SMALLCAPS

CFE_SMALLCAPS值是有效的。

CFM_STRIKEOUT

CFE_STRIKEOUT值是有效的。

CFM_SUBSCRIPT

CFE_SUBSCRIPTCFE_SUPERSCRIPT的值是有效的。

CFM_SUPERSCRIPT

CFE_SUBSCRIPTCFE_SUPERSCRIPT的值是有效的。

CFM_UNDERLINE

CFE_UNDERLINE值是有效的。

设置以下值,以指示有效结构成员。

价值 意义
CFM_ANIMATION

BAnimation成员是有效的。

CFM_BACKCOLOR

CrBackColor成员是有效的。

CFM_CHARSET

BCharSet成员是有效的。

CFM_COLOR

CrTextColor成员是有效的除非在性格的成员设置了CFE_AUTOCOLOR标志。

CFM_FACE

成员是有效的。

CFM_KERNING

WKerning成员是有效的。

CFM_LCID

Lcid成员是有效的。

CFM_OFFSET

正文成员是有效的。

CFM_REVAUTHOR

BRevAuthor成员是有效的。

CFM_SIZE

YHeight成员是有效的。

CFM_SPACING

SSpacing成员是有效的。

CFM_STYLE

SStyle成员是有效的。

CFM_UNDERLINETYPE

BUnderlineType成员是有效的。

CFM_WEIGHT

WWeight成员是有效的。

性格的

类型︰ dword 值

一组位标志,指定字符效果。有的标志只是为了兼容微软文本对象模型(汤姆) 界面;rich edit 控件存储的值,但不使用它来显示文本。

此成员可以是下列值的组合。

价值 意义
CFE_ALLCAPS

字符是全部大写的字母。的值并不影响该控件显示的文本的方式。此值仅适用于版本早于微软丰富编辑 3.0。

CFE_AUTOBACKCOLOR

背景颜色是GetSysColor(COLOR_WINDOW) 的返回值。如果设置了此标志, crBackColor成员将被忽略。

CFE_AUTOCOLOR

文本颜色是GetSysColor(COLOR_WINDOWTEXT) 的返回值。如果设置了此标志, crTextColor成员将被忽略。

CFE_BOLD

字符以粗体显示。

CFE_DISABLED

字符会显示为带有抵消 3/4 点或一个像素的影子,两者中较大。

CFE_EMBOSS

字符被浮雕。值不影响控制如何显示的文本。

CFE_EXTENDED

字符是不太常见的脚本。支持脚本字体应该检查是否它有这种字符的字形。

CFE_FONTBOUND

Rich edit 控件选择字体,还因为积极的字体不支持的字符的表表者。这个过程被称为字体绑定。

CFE_HIDDEN

微软丰富编辑 3.0 及更高版本,不显示的字符。

CFE_IMPRINT

作为印迹字符显示的字符。值不影响控制如何显示的文本。

CFE_ITALIC

字符以斜体显示。

CFE_LINK

Rich edit 控件可以发送EN_LINK通知代码,当鼠标指针停留在具有CFE_LINK效果的文本时,它接收鼠标消息。

CFE_LINKPROTECTED

汉字是友好名称链接的一部分。

CFE_MATH

字符在数学区。

CFE_MATHNOBUILDUP

字符不参加数学构建了。例如,当应用于 a /,/ 不会用来建立一小部分。

CFE_MATHORDINARY

作为一个数学区域内的普通文本显示的字符。

CFE_OUTLINE

字符显示为空心字符。值不影响控制如何显示的文本。

CFE_PROTECTED

字符的保障;尝试对它们进行修改会导致EN_PROTECTED通知代码。

CFE_REVISED

字符被标记为修订。

CFE_SHADOW

作为隐藏字符显示的字符。值不影响控制如何显示的文本。

CFE_SMALLCAPS

字符是在小型大写字母。值不影响控制如何显示的文本。

CFE_STRIKEOUT

字符是剔除。

CFE_SUBSCRIPT

字符的下标。CFE_SUPERSCRIPTCFE_SUBSCRIPT的值是互斥的。对于这两个值,控件将自动计算偏移量和较小的字体大小。或者,您可以使用yHeight正文成员显式指定字体大小和下标和上标字符偏移量。

CFE_SUPERSCRIPT

字符是上标。

CFE_UNDERLINE

带下划线的字符。

yHeight

类型︰

指定字符的高度,以缇为单位 (1/1440 英寸) 或 1/20 的打印机点。若要使用此成员,在设置了CFM_SIZE标志dwMask成员。

正文

类型︰

字符偏移量从基线,以缇为单位。如果此成员的值为正值,字符是上标;如果值为负值,字符是下标。若要使用此成员,在设置了CFM_OFFSET标志dwMask成员。

crTextColor

类型︰ COLORREF

文本颜色。若要使用此成员,在设置了CFM_COLOR标志dwMask成员。如果指定了CFE_AUTOCOLOR字符效果,此成员将被忽略。若要生成COLORREF,使用RGB宏。

bCharSet

类型︰字节

字符集的值。它可以是指定的LOGFONT结构的lfCharSet成员的值之一。若要使用此成员,在设置了CFM_CHARSET标志dwMask成员。

bPitchAndFamily

类型︰字节

指定字体系列和球场。此成员是LOGFONT结构的lfPitchAndFamily成员相同。

类型︰ TCHAR[LF_FACESIZE]

Null 终止字符数组指明字体名称。若要使用此成员,在设置了CFM_FACE标志dwMask成员。

wWeight

类型︰ WORD

字体粗细。此成员是LOGFONT结构的lfWeight成员相同。若要使用此成员,在设置了CFM_WEIGHT标志dwMask成员。

sSpacing

类型︰

字母,以缇为单位之间的水平间距。此值已由 rich edit 控件; 显示的文本没有影响它是包括与 Windows 汤姆接口的兼容性。若要使用此成员,在设置了CFM_SPACING标志dwMask成员。

crBackColor

类型︰ COLORREF

背景色。若要使用此成员,在设置了CFM_BACKCOLOR标志dwMask成员。如果指定了CFE_AUTOBACKCOLOR字符效果,此成员将被忽略。要生成,使用宏。

lcid

类型︰ LCID

包含在较低的字和排序标识符的语言标识符和保留的价值较高的字在一个 32 位的区域设置标识符。此成员已由 rich edit 控件显示的文本没有影响,但拼写和语法检查程序可以使用它来处理依赖于语言的问题。您可以使用宏来创建一个LCID值。若要使用此成员,在设置了CFM_LCID标志dwMask成员。

dwReserved

类型︰ dword 值

保留;值必须为零。

dwCookie

类型︰ dword 值

客户端 cookie。此成员是不透明的 rich edit 控件。

dwReserved

类型︰ dword 值

保留;值必须为零。

sStyle

类型︰

字符样式的句柄。此值已由 rich edit 控件; 显示的文本没有影响它是包括与 WindowsTOM 接口的兼容性。若要使用此成员,在设置了CFM_STYLE标志dwMask成员。详细信息请参阅汤姆文档。

wKerning

类型︰ WORD

字体大小,上面进行字偶间距调整的字符 (yHeight) 的值。此值已由 rich edit 控件; 显示的文本没有影响它是包括与汤姆接口的兼容性。若要使用此成员,在设置了CFM_KERNING标志dwMask成员。

bUnderlineType

类型︰字节

指定的下划线类型。若要使用此成员,在设置了CFM_UNDERLINETYPE标志dwMask成员。此成员可以是下列值之一。

价值 意义
CFU_CF1UNDERLINE

结构将CHARFORMAT位下划线映射到CHARFORMAT2,(也就是说,它执行下划线CHARFORMAT类型对此文本)。

CFU_INVERT

为 ime,假选择。

CFU_UNDERLINE

带有一条实线下划线的文本。

CFU_UNDERLINEDASH

带有虚线下划线的文本。

CFU_UNDERLINEDASHDOT

虚线和点线线带有下划线的文本。

CFU_UNDERLINEDASHDOTDOT

带有虚线和加倍的虚线下划线的文本。

CFU_UNDERLINEDOTTED

带有虚线下划线的文本。版本还带有固体下划线显示比微软丰富编辑 3.0,早的文本。

CFU_UNDERLINEDOUBLE

双线带有下划线的文本。Rich edit 控件显示与固体的下划线的文本。

CFU_UNDERLINEDOUBLEWAVE

显示为CFU_UNDERLINEWAVE

CFU_UNDERLINEHAIRLINE

显示为CFU_UNDERLINE

CFU_UNDERLINEHEAVYWAVE

显示为CFU_UNDERLINEWAVE

CFU_UNDERLINELONGDASH

显示为CFU_UNDERLINEDASH

CFU_UNDERLINENONE

没有下划线。这是默认设置。

CFU_UNDERLINETHICK

显示为CFU_UNDERLINE

CFU_UNDERLINETHICKDASH

显示为CFU_UNDERLINEDASH

CFU_UNDERLINETHICKDASHDOT

显示为CFU_UNDERLINEDASHDOT

CFU_UNDERLINETHICKDASHDOTDOT

显示为CFU_UNDERLINEDASHDOT

CFU_UNDERLINETHICKDOTTED

显示为CFU_UNDERLINEDOT

CFU_UNDERLINETHICKLONGDASH

显示为CFU_UNDERLINEDASH

CFU_UNDERLINEWAVE

RichEdit 4.1 及以后︰ 带有波浪线下划线的文本。

CFU_UNDERLINEWORD

RichEdit 4.1 及以后︰ 只有词下划线。Rich edit 控件显示与固体的下划线的文本。

bAnimation

类型︰字节

文本动画类型。此值已由 rich edit 控件; 显示的文本没有影响它是包括与汤姆接口的兼容性。若要使用此成员,在设置了CFM_ANIMATION标志dwMask成员。

bRevAuthor

类型︰字节

标识作者进行修改的索引。Rich edit 控件为每个不同的作者索引使用不同的文本颜色。若要使用此成员,在设置了CFM_REVAUTHOR标志dwMask成员。

bUnderlineColor

类型︰字节

Underline color.

Remarks

To turn off a formatting attribute, set the appropriate value in dwMask but do not set the corresponding value in dwEffects. For example, to turn off italics, set CFM_ITALIC but do not set CFE_ITALIC.

Requirements

Minimum supported client

Windows Vista [desktop apps only]

Minimum supported server

Windows Server 2003 [desktop apps only]

Header

Richedit.h

Unicode and ANSI names

CHARFORMAT2W (Unicode) and CHARFORMAT2A (ANSI)

See also

CHARFORMAT
COLORREF
EM_GETCHARFORMAT
EM_SETCHARFORMAT
EN_PROTECTED
GetSysColor
LOGFONT
RGB

CHARFORMAT2 structure的更多相关文章

  1. [LeetCode] All O`one Data Structure 全O(1)的数据结构

    Implement a data structure supporting the following operations: Inc(Key) - Inserts a new key with va ...

  2. [LeetCode] Add and Search Word - Data structure design 添加和查找单词-数据结构设计

    Design a data structure that supports the following two operations: void addWord(word) bool search(w ...

  3. [LeetCode] Two Sum III - Data structure design 两数之和之三 - 数据结构设计

    Design and implement a TwoSum class. It should support the following operations:add and find. add - ...

  4. Theano Graph Structure

    Graph Structure Graph Definition theano's symbolic mathematical computation, which is composed of: A ...

  5. 修复 OS X 的系统盘出现 Invalid Node Structure 问题

    昨晚我的MBP突然出现启动的时候会自动关机的问题.开机进入到 Recovery 模式之后,用 Disk Utility 检查系统盘,发现 Invalid Node Structure 错误, Disk ...

  6. Finger Trees: A Simple General-purpose Data Structure

    http://staff.city.ac.uk/~ross/papers/FingerTree.html Summary We present 2-3 finger trees, a function ...

  7. AVEVA Model Data Exchange Exports Structure Models

    AVEVA Model Data Exchange Exports Structure Modelseryar@163.com Use Model Data Exchange Addin to exp ...

  8. Mesh Data Structure in OpenCascade

    Mesh Data Structure in OpenCascade eryar@163.com 摘要Abstract:本文对网格数据结构作简要介绍,并结合使用OpenCascade中的数据结构,将网 ...

  9. Structure And Representation Of MIB Object Names - SNMP Tutorial

    30.8 Structure And Representation Of MIB Object Names We said that ASN.1 specifies how to represent ...

随机推荐

  1. 一个App完成入门篇(一)-从Hello world开始

    程序员学习新技术都是通过Hello World开始的,我们也不例外.第一课我们简单了解利用do平台开发App的基本流程,能了解到的知识点是: 开发环境搭建 创建开发者账号 新建项目 拖拽一个组件 修改 ...

  2. 团队项目——站立会议DAY14

    第十四次站立会议记录: 参会人员:张靖颜,钟灵毓秀,何玥,赵莹,王梓萱 项目进展: 1.张靖颜:修改页面,查漏补缺.进行需求分析,监督每个组员,把大家的问题都一一梳理. 2.钟灵毓秀:继续修改模块代码 ...

  3. Nim语言的模块化编程

    前言 Nim支持把一大段程序分成若干个模块 一个模块就是一个源代码文件 每个模块都拥有它自己的名称空间 模块化可以起到封装(信息隐藏)和分步编译的作用 一个模块可以通过import语句获得另一个模块的 ...

  4. 用canvas开发H5游戏小记

    自神经猫风波之后,微信中的各种小游戏如雨后春笋般目不暇接,这种低成本,高效传播的案例很是受开发者青睐.作为一名前端,随手写个这样的小游戏出来应该算是必备技能吧.恰逢中秋节,部门决定上线一个小游戏,在微 ...

  5. 一天一小段js代码(no.3)

    //遍历属性,返回名值对 function outputAttributes(element){ var pairs = new Array(), attrName, attrValue, i, le ...

  6. Unity3D音乐音效研究-MIDI与波表

    其实音乐音效这个命题本身没什么好研究的. Unity3D提供了丰富的结构和使用方式,足够使用了. 但是我有一些小小的想法和需求,一般的Unity资料并没有给我答案. 一个是容量要小.MP3.OGG的高 ...

  7. 做NavMesh相关工作时收集的一些文章

    三角形拾取 http://www.blackpawn.com/texts/pointinpoly/default.htmlCS NavMesh使用手册https://developer.valveso ...

  8. 异步编程之Javascript Promises 规范介绍

    什么是 Promises Promises是一种关于异步编程的规范,目的是将异步处理对象和处理规则进行规范化,为异步编程提供统一接口. 传统的回调函数 说到JavaScript的异步编程处理,通常我们 ...

  9. Repeater绑定数组并显示其值

    web开发中,尤其是对于数据展示,不得不说Repeater是一个万能的控件,而且使用也很方便. 在ASP.NET中将数组绑定到Repeater中请问如何在Repeater前台页面中显示该数组的值? s ...

  10. 关于session的小结

    session的原理 Session对象的原理在于,服务器可以为客户端创建并维护一个所谓的Session对象,用于存放数据. 在创建Session对象的同时,服务器将会为该Session对象产生一个唯 ...