CHARFORMAT2A結構 (Rich Edit 2.0)
包含豐富編輯控制件中字元格式設定的相關信息。 CHARFORMAT2 是 CHARFORMAT 結構的 Microsoft Rich Edit 2.0 延伸模組。 Microsoft Rich Edit 2.0 可讓您搭配 EM_GETCHARFORMAT 和 EM_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 設定 為 CHARFORMAT 或 CHARFORMAT2 結構的大小。 如果 cbSize 等於 CHARFORMAT 結構的大小,控件只會使用 CHARFORMAT 成員。
dwMask
類型:DWORD
指定包含有效資訊之 CHARFORMAT2 結構的元件。 dwMask 成員可以是兩組位旗標的值組合。 一組表示有效的結構成員。 另一個集合表示 dwEffects 成員中的有效屬性。
設定下列值,指出 dwEffects 成員的有效屬性。
設定下列值,以指出有效的結構成員。
dwEffects
類型:DWORD
指定字元效果的一組位旗標。 部分旗標只包含在與Microsoft 文字对象模型 (TOM) 介面的相容性:豐富的編輯控件會儲存值,但不會使用它來顯示文字。
這個成員可以是下列值的組合。
價值 | 意義 |
---|---|
|
字元都是大寫字母。 值不會影響控件顯示文字的方式。 此值僅適用於早於 Microsoft Rich Edit 3.0 的版本。 |
|
背景色彩是 getSysColor |
|
文字色彩是 getSysColor |
|
字元為粗體。 |
|
字元會以 3/4 點或一個圖元位移的陰影來顯示,無論大小較大。 |
|
字元是浮凸的。 值不會影響控件顯示文字的方式。 |
|
這些字元是腳本中較不常見的成員。 支援文本的字型應該檢查是否有這類字元的字元。 |
|
豐富的編輯控制項會選擇字型,因為使用中字型不支援字元。 此程序稱為字型系結。 |
|
對於 Microsoft Rich Edit 3.0 和更新版本,不會顯示字元。 |
|
字元會顯示為印記字元。 值不會影響控件顯示文字的方式。 |
|
字元為斜體。 |
|
豐富的編輯控件可以在滑鼠指標超過具有 CFE_LINK 效果的文字時收到滑鼠訊息時,傳送 EN_LINK 通知碼。 |
|
字元是易記名稱連結的一部分。 |
|
字元位於數學區域中。 |
|
字元不會參與數學建置。 例如,當套用至 /時,將不會使用 / 來建立分數。 |
|
字元會顯示為數學區域內的一般文字。 |
|
字元會顯示為外框字元。 值不會影響控件顯示文字的方式。 |
|
字元受到保護;嘗試修改它們會導致 EN_PROTECTED 通知程序代碼。 |
|
字元會標示為修訂。 |
|
字元會顯示為陰影字元。 值不會影響控件顯示文字的方式。 |
|
字元以小大寫字母為單位。 值不會影響控件顯示文字的方式。 |
|
字元被擊出。 |
|
字元為下標。 CFE_SUPERSCRIPT 和 CFE_SUBSCRIPT 值互斥。 針對這兩個值,控件會自動計算位移和較小的字型大小。 或者,您可以使用 yHeight 和 yOffset 成員來明確指定下標和上標字元的字型大小和位移。 |
|
字元為上標。 |
|
字元會加上底線。 |
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 旗標。 這個成員可以是下列其中一個值。
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 |