リッチエディットコントロールにおける文字の書式に関する情報を格納します。 CHARFORMAT2 構造体はリッチエディット 2.0 のために CHARFORMAT 構造体を拡張したものです。リッチエディット 2.0 以降では EM_GETCHARFORMAT メッセージおよび EM_SETCHARFORMAT メッセージでどちらの構造体でも使用することができます。
#define LF_FACESIZE 32 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; DWORD dwReserved; SHORT sStyle; WORD wKerning; BYTE bUnderlineType; BYTE bAnimation; BYTE bRevAuthor; BYTE bReserved1; } CHARFORMAT2;
CHARFORMAT2 構造体のサイズを指定します。 ANSI 版では 84 を指定します。この構造体をリッチエディットコントロールに渡す前にこのメンバを 設定しておかなければなりません。
このメンバに CHARFORMAT 構造体のサイズ 60 を指定すると、 CHARFORMAT 構造体のメンバのみが使用されます。
有効な情報を持つメンバや設定する属性を指定します。
dwEffects メンバの有効な属性値を指定するのに、以下の値の組み合わせを指定します。
値 | 有効な属性値 |
---|---|
0x00000001 (CFM_BOLD) | CFE_BOLD |
0x00000002 (CFM_ITALIC) | CFE_ITALIC |
0x00000004 (CFM_UNDERLINE) | CFE_UNDERLINE |
0x00000008 (CFM_STRIKEOUT) | CFE_STRIKEOUT |
0x00000010 (CFM_PROTECTED) | CFE_PROTECTED |
0x00000020 (CFM_LINK) | CFE_LINK |
0x00000040 (CFM_SMALLCAPS) | CFE_SMALLCAPS |
0x00000080 (CFM_ALLCAPS) | CFE_ALLCAPS |
0x00000100 (CFM_HIDDEN) | CFE_HIDDEN |
0x00000200 (CFM_OUTLINE) | CFE_OUTLINE |
0x00000400 (CFM_SHADOW) | CFE_SHADOW |
0x00000800 (CFM_EMBOSS) | CFE_EMBOSS |
0x00001000 (CFM_IMPRINT) | CFE_IMPRINT |
0x00002000 (CFM_DISABLED) | CFE_DISABLED |
0x00004000 (CFM_REVISED) | CFE_REVISION |
0x00030000 (CFM_SUBSCRIPT,CFM_SUPERSCRIPT) | CFE_SUBSCRIPT および CFE_SUPERSCRIPT |
0x40000000 (CFM_COLOR) | CFE_AUTOCOLOR または crTextColor メンバ |
また、この構造体の有効なメンバを指定するのに以下の値を組み合わせて指定します。
値 | 有効なメンバ |
---|---|
0x00008000 (CFM_REVAUTHOR) | bRevAuthor メンバ |
0x00040000 (CFM_ANIMATION) | bAnimation メンバ |
0x00080000 (CFM_STYLE) | sStyle メンバ |
0x00100000 (CFM_KERNING) | wKerning メンバ |
0x00200000 (CFM_SPACING) | sSpacing メンバ |
0x00400000 (CFM_WEIGHT) | wWeight メンバ |
0x00800000 (CFM_UNDERLINETYPE) | bUnderlineType メンバ |
0x02000000 (CFM_LCID) | lcid メンバ |
0x04000000 (CFM_BACKCOLOR) | crBackColor メンバ |
0x08000000 (CFM_CHARSET) | bCharSet メンバ |
0x10000000 (CFM_OFFSET) | yOffset メンバ |
0x20000000 (CFM_FACE) | szFaceName メンバ |
0x40000000 (CFM_COLOR) | crTextColor メンバ
dwEffects メンバに CFE_AUTOCOLOR が指定されていない場合のみ有効です。 |
0x80000000 (CFM_SIZE) | yHeight メンバ |
文字の効果を指定するビットフラグです。 0 または以下の値の組み合わせで指定します。 dwMask メンバで指定されている文字効果のみ有効です。
値 | 意味 |
---|---|
0x0001 (CFE_BOLD) | 太字体で表示されます。 |
0x0002 (CFE_ITALIC) | イタリック体で表示されます。 |
0x0004 (CFE_UNDERLINE) | アンダーラインを引きます。 |
0x0008 (CFE_STRIKEOUT) | 取り消し線を引きます。 |
0x0010 (CFE_PROTECTED) | 文字が保護されます。保護されている文字が変更されようとするとき、 EN_PROTECTED 通知メッセージが送られます。 |
0x0020 (CFE_LINK) | マウスポインタが CFE_LINK 効果をもつテキスト上にあるときにリッチエディットコントロールがマウスメッセージを受け取った場合に、 EN_LINK 通知メッセージが送られます。 |
0x0040 (CFE_SMALLCAPS) | スモールキャップであることを示します。このフラグはコントロールによるテキストの表示のされ方には影響しません。 |
0x0080 (CFE_ALLCAPS) | 大文字であることを示します。このフラグはコントロールによるテキストの表示のされ方には影響しません。この値は Rich Edit 3.0 より前のバージョンだけに適用されます。 |
0x0100 (CFE_HIDDEN) | Rich Edit 3.0 以降: 文字が表示されません。 |
0x0200 (CFE_OUTLINE) | 輪郭を描かれた文字として表示されます。このフラグはコントロールによるテキストの表示のされ方には影響しません。 |
0x0400 (CFE_SHADOW) | 陰影をつけられた文字として表示されます。このフラグはコントロールによるテキストの表示のされ方には影響しません。 |
0x0800 (CFE_EMBOSS) | 浮き上がった文字として表示されます。このフラグはコントロールによるテキストの表示のされ方には影響しません。 |
0x1000 (CFE_IMPRINT) | 刻印された文字として表示されます。このフラグはコントロールによるテキストの表示のされ方には影響しません。 |
0x2000 (CFE_DISABLED) | 3/4 ポイントまたは 1 ピクセルのオフセットに影が表示されます。 |
0x4000 (CFE_REVISED) | 訂正されたようにマーク付けされます。 |
0x00010000 (CFE_SUBSCRIPT) | 下付き文字です。コントロールは自動的にオフセットサイズとフォントサイズを計算します。 |
0x00020000 (CFE_SUPERSCRIPT) | 上付き文字です。コントロールは自動的にオフセットサイズとフォントサイズを計算します。 |
0x04000000 (CFE_AUTOBACKCOLOR) | 背景色が GetSysColor 関数に COLOR_WINDOW を指定したとき取得される色になります。 |
0x40000000 (CFE_AUTOCOLOR) | 文字色が GetSysColor 関数に COLOR_WINDOWTEXT を指定したとき取得される色になります。 |
文字の高さを twip 単位で指定します( 1 twip = 1/20 point = 1/1440 inch )。 dwMask メンバで CFM_SIZE が指定されているときのみ有効です。
ベースラインからの文字のオフセットを twip 単位で指定します。正数を指定すると上付き文字に、負数を指定すると下付き文字になります。 dwMask メンバで CFM_OFFSET が指定されているときのみ有効です。
文字色を指定します。 dwEffects メンバで CFE_AUTOCOLOR を指定している場合はこのメンバは無視されます。 dwMask メンバで CFM_CHARSET が指定されているときのみ有効です。
キャラクタセットの値を指定します。 LOGFONT 構造体の lfCharSet メンバで指定される値のいずれかを指定することができます。 dwMask メンバで CFM_CHARSET が指定されているときのみ有効です。
フォントファミリとピッチを指定します。このメンバは LOGFONT 構造体の lfPitchAndFamily メンバと同じです。
フォント名を表す文字列を指定します。
フォントの太さを指定します。このメンバは LOGFONT 構造体の lfWeight メンバと同じです。 dwMask メンバで CFM_WEIGHT が指定されているときのみ有効です。
文字の文字の間隔を twip 単位で指定します。このメンバはテキストオブジェクトモデル( TOM )の互換性のために含まれていて、コントロールによって表示されるテキストには影響しません。 dwMask メンバで CFM_SPACING が指定されているときのみ有効です。
背景色を指定します。 dwEffects メンバで CFE_AUTOBACKCOLOR を指定している場合はこのメンバは無視されます。 dwMask メンバで CFM_BACKCOLOR が指定されているときのみ有効です。
ロケール ID を指定します。このメンバはコントロールによって表示されるテキストには影響しませんが、スペル・文法チェッカが言語に依存する問題を扱うのにこの値を使用する可能性があります。 dwMask メンバで CFM_LCID が指定されているときのみ有効です。
予約されています。 0 を指定しなければなりません。
文字スタイルのハンドルです。このメンバはテキストオブジェクトモデル( TOM )の互換性のために含まれていて、コントロールによって表示されるテキストには影響しません。 dwMask メンバで CFM_STYLE が指定されているときのみ有効です。
このメンバはテキストオブジェクトモデル( TOM )の互換性のために含まれていて、コントロールによって表示されるテキストには影響しません。 dwMask メンバで CFM_KERNING が指定されているときのみ有効です。
下線のタイプを指定します。 dwMask メンバで CFM_UNDERLINETYPE が指定されているときのみ有効です。以下のいずれかの値を指定します。
値 | 意味 |
---|---|
0 (CFU_UNDERLINENONE) | アンダーラインなし |
1 (CFU_UNDERLINE) | 直線のアンダーライン |
2 (CFU_UNDERLINEWORD) | 単語のみにアンダーライン。リッチエディットコントロールは直線のアンダーラインを表示します。 |
3 (CFU_UNDERLINEDOUBLE) | 二重線のアンダーライン。 Rich Edit 3.0 より前のバージョンのリッチエディットコントロールは直線のアンダーラインを表示します。 |
4 (CFU_UNDERLINEDOTTED) | 点線のアンダーライン。リッチエディットコントロールは直線のアンダーラインを表示します。 |
0xFF (CFU_CF1UNDERLINE) | CHARFORMAT 構造体のアンダーラインをテキストに適用します。 |
テキストアニメーションタイプです。このメンバはテキストオブジェクトモデル( TOM )の互換性のために含まれていて、コントロールによって表示されるテキストには影響しません。 dwMask メンバで CFM_ANIMATION が指定されているときのみ有効です。
改訂を行なっている著者を識別するインデックスです。リッチエディットコントロールは、それぞれの著者インデックスに対して、異なった文字色のテキストを使用します。
予約されています。 0 を指定しなければなりません。
Windows 95 以降 / Windows NT 4.0 以降
HSP 変数 | メンバ | |||
---|---|---|---|---|
メンバ名 | オフセット | サイズ | ||
cfm.0 | cbSize ( = 84 ) | 0 | 4 | |
cfm.1 | dwMask | 4 | 4 | |
cfm.2 | dwEffects | 8 | 4 | |
cfm.3 | yHeight | 12 | 4 | |
cfm.4 | yOffset | 16 | 4 | |
cfm.5 | crTextColor | 20 | 4 | |
cfm.6 |
1バイト目 | bCharSet | 24 | 1 |
2バイト目 | bPitchAndFamily | 25 | 1 | |
3バイト目 | szFaceName | 26 | 32 | |
4バイト目 | ||||
cfm.7 | ||||
… | ||||
cfm.14 | 1バイト目 | |||
2バイト目 | ||||
3バイト目 | wWeight | 58 | 2 | |
4バイト目 | ||||
cfm.15 | 1バイト目 | sSpacing | 60 | 2 |
2バイト目 | ||||
3バイト目 | 未使用(アライメント処理) | |||
4バイト目 | ||||
cfm.16 | crBackColor | 64 | 4 | |
cfm.17 | lcid | 68 | 4 | |
cfm.18 | dwReserved | 72 | 4 | |
cfm.19 | 1バイト目 | sStyle | 76 | 2 |
2バイト目 | ||||
3バイト目 | wKerning | 78 | 2 | |
4バイト目 | ||||
cfm.20 | 1バイト目 | bUnderlineType | 80 | 1 |
2バイト目 | bAnimation | 81 | 1 | |
3バイト目 | bRevAuthor | 82 | 1 | |
4バイト目 | bReserved1 | 83 | 1 |