共用方式為


CHARFORMAT2A結構 (Rich Edit 2.0)

包含豐富編輯控制件中字元格式設定的相關信息。 CHARFORMAT2CHARFORMAT 結構的 Microsoft Rich Edit 2.0 延伸模組。 Microsoft Rich Edit 2.0 可讓您搭配 EM_GETCHARFORMATEM_SETCHARFORMAT 訊息使用任一結構。

語法

typedef struct _charformat2a {
  UINT     cbSize;
  DWORD    dwMask;
  DWORD    dwEffects;
  LONG     yHeight;
  LONG     yOffset;
  COLORREF crTextColor;
  BYTE     bCharSet;
  BYTE     bPitchAndFamily;
  char     szFaceName[LF_FACESIZE];
  WORD     wWeight;
  SHORT    sSpacing;
  COLORREF crBackColor;
  LCID     lcid;
  union {
    DWORD dwReserved;
    DWORD dwCookie;
  };
  DWORD    dwReserved;
  SHORT    sStyle;
  WORD     wKerning;
  BYTE     bUnderlineType;
  BYTE     bAnimation;
  BYTE     bRevAuthor;
  BYTE     bUnderlineColor;
} CHARFORMAT2A;

成員

cbSize

類型:UINT

指定 結構的大小,以位元組為單位。 將此結構傳遞至豐富的編輯控件之前,請將 cbSize 設定 為 CHARFORMATCHARFORMAT2 結構的大小。 如果 cbSize 等於 CHARFORMAT 結構的大小,控件只會使用 CHARFORMAT 成員。

dwMask

類型:DWORD

指定包含有效資訊之 CHARFORMAT2 結構的元件。 dwMask 成員可以是兩組位旗標的值組合。 一組表示有效的結構成員。 另一個集合表示 dwEffects 成員中的有效屬性。

設定下列值,指出 dwEffects 成員的有效屬性。

價值 意義
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
除非 dwEffects 成員中設定了 CFE_AUTOCOLOR 旗標,否則 crTextColor 成員是有效的。
CFM_FACE
szFaceName 成員有效。
CFM_KERNING
wKerning 成員有效。
CFM_LCID
lcid 成員有效。
CFM_OFFSET
yOffset 成員有效。
CFM_REVAUTHOR
bRevAuthor 成員有效。
CFM_SIZE
yHeight 成員有效。
CFM_SPACING
sSpacing 成員有效。
CFM_STYLE
sStyle 成員有效。
CFM_UNDERLINETYPE
bUnderlineType 成員有效。
CFM_WEIGHT
wWeight 成員有效。

dwEffects

類型:DWORD

指定字元效果的一組位旗標。 部分旗標只包含在與Microsoft 文字对象模型 (TOM) 介面的相容性:豐富的編輯控件會儲存值,但不會使用它來顯示文字。

這個成員可以是下列值的組合。

價值 意義
CFE_ALLCAPS
字元都是大寫字母。 值不會影響控件顯示文字的方式。 此值僅適用於早於 Microsoft Rich Edit 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
豐富的編輯控制項會選擇字型,因為使用中字型不支援字元。 此程序稱為字型系結。
CFE_HIDDEN
對於 Microsoft Rich Edit 3.0 和更新版本,不會顯示字元。
CFE_IMPRINT
字元會顯示為印記字元。 值不會影響控件顯示文字的方式。
CFE_ITALIC
字元為斜體。
CFE_LINK
豐富的編輯控件可以在滑鼠指標超過具有 CFE_LINK 效果的文字時收到滑鼠訊息時,傳送 EN_LINK 通知碼。
CFE_LINKPROTECTED
字元是易記名稱連結的一部分。
CFE_MATH
字元位於數學區域中。
CFE_MATHNOBUILDUP
字元不會參與數學建置。 例如,當套用至 /時,將不會使用 / 來建立分數。
CFE_MATHORDINARY
字元會顯示為數學區域內的一般文字。
CFE_OUTLINE
字元會顯示為外框字元。 值不會影響控件顯示文字的方式。
CFE_PROTECTED
字元受到保護;嘗試修改它們會導致 EN_PROTECTED 通知程序代碼。
CFE_REVISED
字元會標示為修訂。
CFE_SHADOW
字元會顯示為陰影字元。 值不會影響控件顯示文字的方式。
CFE_SMALLCAPS
字元以小大寫字母為單位。 值不會影響控件顯示文字的方式。
CFE_STRIKEOUT
字元被擊出。
CFE_SUBSCRIPT
字元為下標。 CFE_SUPERSCRIPTCFE_SUBSCRIPT 值互斥。 針對這兩個值,控件會自動計算位移和較小的字型大小。 或者,您可以使用 yHeightyOffset 成員來明確指定下標和上標字元的字型大小和位移。
CFE_SUPERSCRIPT
字元為上標。
CFE_UNDERLINE
字元會加上底線。

yHeight

類型:LONG

指定字元高度,以 Twip 為單位(1/1440 英吋,或印表機點的 1/20)。 若要使用此成員,請在 dwMask 成員中設定 CFM_SIZE 旗標。

yOffset

類型:LONG

以 twip 為單位的基準字元位移。 如果這個成員的值是正數,則字元為上標;如果值為負數,則字元為下標。 若要使用此成員,請在 dwMask 成員中設定 CFM_OFFSET 旗標。

crTextColor

類型:COLORREF

文字色彩。 若要使用此成員,請在 dwMask 成員中設定 CFM_COLOR 旗標。 如果指定 CFE_AUTOCOLOR 字元效果,則會忽略這個成員。 若要產生 COLORREF,請使用 RGB 巨集。

bCharSet

類型:BYTE

字元集值。 它可以是針對 LOGFONT 結構的 lfCharSet 成員所指定的其中一個值。 若要使用此成員,請在 dwMask 成員中設定 CFM_CHARSET 旗標。

bPitchAndFamily

類型:BYTE

指定字型系列和音調。 這個成員與 logFONT 結構的 lfPitchAndFamily 成員相同。

szFaceName[LF_FACESIZE]

類型:TCHAR[LF_FACESIZE]

指定字型名稱的 Null 終止字元陣列。 若要使用此成員,請在 dwMask 成員中設定 CFM_FACE 旗標。

wWeight

類型:WORD

字型粗細。 這個成員與 LOGFONT 結構的 lfWeight 成員相同。 若要使用此成員,請在 dwMask 成員中設定 CFM_WEIGHT 旗標。

sSpacing

類型:SHORT

字母之間的水準間距,以 twip 為單位。 這個值對豐富編輯控件所顯示的文字沒有任何影響;它隨附於 Windows TOM 介面的相容性。 若要使用此成員,請在 dwMask 成員中設定 CFM_SPACING 旗標。

crBackColor

類型:COLORREF

背景色彩。 若要使用此成員,請在 dwMask 成員中設定 CFM_BACKCOLOR 旗標。 如果指定 CFE_AUTOBACKCOLOR 字元效果,則會忽略這個成員。 若要產生 ,請使用 巨集。

lcid

類型:LCID

32 位地區設定標識碼,其中包含下一個字中的語言標識碼,以及上一個字中的排序標識碼和保留值。 這個成員對豐富的編輯控件所顯示的文字沒有作用,但拼字和文法檢查工具可以使用它來處理語言相關的問題。 您可以使用巨集來建立 LCID 值。 若要使用此成員,請在 dwMask 成員中設定 CFM_LCID 旗標。

dwReserved

類型:DWORD

保留;值必須是零。

類型:DWORD

保留;值必須是零。

dwCookie

類型:DWORD

用戶端 Cookie。 這個成員對豐富的編輯控件不透明。

sStyle

類型:SHORT

字元樣式句柄。 這個值對豐富編輯控件所顯示的文字沒有任何影響;它隨附於 WindowsTOM 介面的相容性。 若要使用此成員,請在 dwMask 成員中設定 CFM_STYLE 旗標。 如需詳細資訊,請參閱 TOM 檔。

wKerning

類型:WORD

字型大小的值,上面要縮小字元(yHeight)。 這個值對豐富編輯控件所顯示的文字沒有任何影響;它隨附於 TOM 介面的相容性。 若要使用此成員,請在 dwMask 成員中設定 CFM_KERNING 旗標。

bUnderlineType

類型:BYTE

指定底線類型。 若要使用此成員,請在 dwMask 成員中設定 CFM_UNDERLINETYPE 旗標。 這個成員可以是下列其中一個值。

價值 意義
CFU_CF1UNDERLINE
結構會將 CHARFORMAT 的位底線對應至 CHARFORMAT2,也就是,它會在此文字上執行 CHARFORMAT 底線類型)。
CFU_INVERT
針對輸入法組合,偽造選取專案。
CFU_UNDERLINE
以單一實線加上底線的文字。
CFU_UNDERLINEDASH
以虛線加上底線的文字。
CFU_UNDERLINEDASHDOT
以虛線和虛線加上底線的文字。
CFU_UNDERLINEDASHDOTDOT
以虛線和雙虛線加上底線的文字。
CFU_UNDERLINEDOTTED
以虛線加上底線的文字。 對於早於 Microsoft Rich Edit 3.0 的版本,文字會以純底線顯示。
CFU_UNDERLINEDOUBLE
以雙行加上底線的文字。 豐富的編輯控制件會以純底線顯示文字。
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 和更新版本:僅加底線字。 豐富的編輯控制件會以純底線顯示文字。

bAnimation

類型:BYTE

文字動畫類型。 這個值對豐富編輯控件所顯示的文字沒有任何影響;它隨附於 TOM 介面的相容性。 若要使用此成員,請在 dwMask 成員中設定 CFM_ANIMATION 旗標。

bRevAuthor

類型:BYTE

識別製作修訂之作者的索引。 豐富的編輯控制項會針對每個不同的作者索引使用不同的文字色彩。 若要使用此成員,請在 dwMask 成員中設定 CFM_REVAUTHOR 旗標。

bUnderlineColor

類型:BYTE

底線顏色:

  • UnderlineColor_Black = 0x00;
  • UnderlineColor_Blue = 0x01;
  • UnderlineColor_Aqua = 0x02;
  • UnderlineColor_Lime = 0x03;
  • UnderlineColor_Fuchsia = 0x04;
  • UnderlineColor_Red = 0x05;
  • UnderlineColor_Yellow = 0x06;
  • UnderlineColor_White = 0x07;
  • UnderlineColor_Navy = 0x08;
  • UnderlineColor_Teal = 0x09;
  • UnderlineColor_Green = 0x0A;
  • UnderlineColor_Purple = 0x0B;
  • UnderlineColor_Maroon = 0x0C;
  • UnderlineColor_Olive = 0x0D;
  • UnderlineColor_DkGray = 0x0E;
  • UnderlineColor_LtGray = 0x0F;

言論

若要關閉格式化屬性,請在 dwMask 中設定適當的值,但不要在 dwEffects 中設定對應的值。 例如,若要關閉斜體,請設定 CFM_ITALIC 但未設定 CFE_ITALIC

要求

要求 價值
最低支援的用戶端 Windows Vista [僅限傳統型應用程式]
支援的最低伺服器 Windows Server 2003 [僅限傳統型應用程式]
標頭 richedit.h

另請參閱

CHARFORMAT

COLORREF

EM_GETCHARFORMAT

EM_SETCHARFORMAT

EN_PROTECTED

GetSysColor

LOGFONT

RGB