CHARFORMATA 結構 (richedit.h)

包含豐富編輯控制件中字元格式設定的相關信息。

Rich Edit 2.0:CHARFORMAT2 結構是 CHARFORMAT 結構的 Microsoft Rich Edit 2.0 延伸模組。 Microsoft Rich Edit 2.0 和更新版本可讓您搭配 EM_GETCHARFORMATEM_SETCHARFORMAT 訊息使用任一結構。

語法

typedef struct _charformat {
  UINT     cbSize;
  DWORD    dwMask;
  DWORD    dwEffects;
  LONG     yHeight;
  LONG     yOffset;
  COLORREF crTextColor;
  BYTE     bCharSet;
  BYTE     bPitchAndFamily;
  char     szFaceName[LF_FACESIZE];
} CHARFORMATA;

成員

cbSize

類型:UINT

以位元組為單位的指定結構大小。 必須先設定這個成員,才能將 結構傳遞至豐富的編輯控件。

dwMask

類型:DWORD

包含要設定之有效資訊或屬性的成員。 這個成員可以是零、一或多個下列值。

價值 意義
CFM_ALL
Windows 8:下列值的組合:CFM_EFFECTS |CFM_SIZE |CFM_FACE |CFM_OFFSET |CFM_CHARSET
CFM_BOLD
dwEffects 成員的CFE_BOLD值有效。
CFM_CHARSET
bCharSet 成員有效。
CFM_COLOR
crTextColor 成員和 dwEffects 成員的CFE_AUTOCOLOR值有效。
CFM_EFFECTS
Windows 8:下列值的組合:CFM_BOLD |CFM_ITALIC |CFM_UNDERLINE |CFM_COLOR |CFM_STRIKEOUT |CFE_PROTECTED |CFM_LINK
CFM_FACE
szFaceName 成員有效。
CFM_ITALIC
dwEffects 成員的CFE_ITALIC值有效。
CFM_OFFSET
yOffset 成員有效。
CFM_PROTECTED
dwEffects 成員的CFE_PROTECTED值有效。
CFM_SIZE
yHeight 成員有效。
CFM_STRIKEOUT
dwEffects 成員的CFE_STRIKEOUT值有效。
CFM_UNDERLINE。
dwEffects 成員的CFE_UNDERLINE值有效。

dwEffects

類型:DWORD

字元效果。 這個成員可以是下列值的組合。

價值 意義
CFE_AUTOCOLOR
文字色彩是 getSysColor的傳回值(COLOR_WINDOWTEXT)。
CFE_BOLD
字元為粗體。
CFE_DISABLED
RichEdit 2.0 及更新版本: 字元會以 3/4 點或一個圖元位移的陰影來顯示,無論大小較大。
CFE_ITALIC
字元為斜體。
CFE_STRIKEOUT
字元被擊中。
CFE_UNDERLINE
字元會加上底線。
CFE_PROTECTED
字元受到保護;嘗試修改它們會導致 EN_PROTECTED 通知程序代碼。

yHeight

類型:LONG

字元高度,以 Twip 為單位(1/1440 英吋或 1/20 的印表機點)。

yOffset

類型:LONG

以 twip 為單位的字元位移,以 Twip 為單位。 如果這個成員的值是正數,則字元為上標;如果為負數,則字元為下標。

crTextColor

類型:COLORREF

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

bCharSet

類型:BYTE

字元集值。 bCharSet 成員可以是為logFONT 結構之 lfCharSet 成員所指定的其中一個值。 Microsoft Rich Edit 3.0 如果目標字元無效,可能會覆寫此值。

bPitchAndFamily

類型:BYTE

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

szFaceName[LF_FACESIZE]

類型:TCHAR[LF_FACESIZE]

指定字型名稱的 Null 終止字元陣列。

言論

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

注意

richedit.h 標頭會將 CHARFORMAT 定義為別名,根據 UNICODE 預處理器常數的定義,自動選取此函式的 ANSI 或 Unicode 版本。 混合使用編碼中性別名與非編碼中性的程序代碼,可能會導致編譯或運行時間錯誤不符。 如需詳細資訊,請參閱函式原型的 慣例。

要求

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

另請參閱

CHARFORMAT2

EM_GETCHARFORMAT

EM_SETCHARFORMAT

EN_PROTECTED

參考