リッチエディットコントロールにおける段落の書式属性に関する情報が格納されます。この構造体は EM_GETPARAFORMAT メッセージおよび EM_SETPARAFORMAT メッセージで使用されます。
Rich Edit 2.0 以降: PARAFORMAT2 構造体はリッチエディット 2.0 のために PARAFORMAT 構造体を拡張したものです。リッチエディット 2.0 以降では EM_GETPARAFORMAT メッセージおよび EM_SETPARAFORMAT メッセージでどちらの構造体でも使用することができます。
#define MAX_TAB_STOPS 32 typedef struct _paraformat { UINT cbSize; // 構造体のサイズ(=156) DWORD dwMask; // 有効メンバ WORD wNumbering; // ナンバリングオプション WORD wEffects; // 予約(=0) LONG dxStartIndent; // 最初の行のインデント LONG dxRightIndent; // 右側のインデント LONG dxOffset; // 2行目以降の行のインデント WORD wAlignment; // 段落の配置 SHORT cTabCount; // タブストップの数 LONG rgxTabs[MAX_TAB_STOPS]; // タブストップ位置の配列 } PARAFORMAT;
構造体のサイズをバイト単位で指定します。 156 を指定します。
この構造体の設定する有効な情報や属性を指定します。 0 または以下の値の組み合わせになります。
値 | 意味 |
---|---|
0x00000001 (PFM_STARTINDENT) | dxStartIndent メンバが有効です。 |
0x00000002 (PFM_RIGHTINDENT) | dxRightIndent メンバが有効です。 |
0x00000004 (PFM_OFFSET) | dxOffset メンバが有効です。 |
0x00000008 (PFM_ALIGNMENT) | wAlignment メンバが有効です。 |
0x00000010 (PFM_TABSTOPS) | cTabStobs メンバと rgxTabStops メンバが有効です。 |
0x00000020 (PFM_NUMBERING) | wNumbering メンバが有効です。 |
0x00010000 (PFM_RTLPARA) | Rich Edit 2.0 以降: wEffects メンバが有効です。 |
0x80000000 (PFM_OFFSETINDENT) | dxStartIndent メンバが有効です。このメンバは相対的な値を取ります。 |
ナンバリングオプションが格納されます。以下の値のいずれかになります。
値 | 意味 |
---|---|
0 | 段落の始めに何も表示しません。 |
0x0001 (PFN_BULLET) | 段落の始めに黒丸“・”を表示します。 |
Rich Edit 1.0: 予約されています。 0 を指定しなければなりません。
Rich Edit 2.0 以降: 段落の効果を指定するフラグが格納されます。このメンバはテキストオブジェクトモデル( TOM )の互換性のために含まれていて、コントロールによって表示されるテキストには影響しません。以下の値のいずれかになります。
値 | 意味 |
---|---|
0 | 左から右への読み取り順によってテキストを表示します。 |
0x0001 (PFE_RTLPARA) | 右から左への読み取り順によってテキストを表示します。 |
twip 単位で指定された段落の最初の行のインデントが格納されます。( 1 point = 20 twip )
dwMask メンバで PFM_OFFSETINDENT が指定されている場合には相対値として扱われ、それぞれの段落の開始インデントとの和になります。
twip 単位で指定された段落の右側のインデントが格納されます。ここで指定した値は右側の余白になります。
段落の2行目以降の行のインデントを twip 単位で指定します。この値は、 dxStartIndent メンバで指定された1行目のインデントからの相対値になります。この値が負数のとき、1行目が内側にくぼんで表示されます。この値が正数のとき、1行目が外側に飛び出て表示されます。
段落の配置を指定する値が格納されます。以下の値のいずれかになります。
値 | 意味 |
---|---|
0x0001 (PFA_LEFT) | 段落は左マージンに整列されます。 |
0x0002 (PFA_RIGHT) | 段落は右マージンに整列されます。 |
0x0003 (PFA_CENTER) | 段落は中央に整列されます。 |
タブストップの数が格納されます。
タブストップの位置を示す値が格納されます。
Windows 95 以降 / Windows NT 4.0 以降
HSP 変数 | メンバ | |||
---|---|---|---|---|
メンバ名 | オフセット | サイズ | ||
pfm.0 | cbSize ( = 156 ) | 0 | 4 | |
pfm.1 | dwMask | 4 | 4 | |
pfm.2 | 下位ワード | wNumbering | 8 | 2 |
上位ワード | wEffects | 10 | 2 | |
pfm.3 | dxStartIndent | 12 | 4 | |
pfm.4 | dxRightIndent | 16 | 4 | |
pfm.5 | dxOffset | 20 | 4 | |
pfm.6 | 下位ワード | wAlignment | 24 | 2 |
上位ワード | cTabCount | 26 | 2 | |
pfm.7 | rgxTabs[0] | 28 | 4 | |
… | … | … | … | |
pfm.38 | rgxTabs[31] | 152 | 4 |
構造体に wNumbering, wReserved, wAlignment, cTabCount を格納するには
pfm.2 = wNumbering | ( wReserved << 16 ) pfm.6 = wAlignment | ( cTabCount << 16 ) ; wpoke cfm, 8, wNumbering ; wpoke cfm, 10, wReserved ; wpoke cfm, 24, wAlignment ; wpoke cfm, 26, cTabCount ; とすることもできます
構造体から wNumbering, wReserved, wAlignment, cTabCount を取得するには
wNumbering = pfm.2 & $FFFF wReserved = (pfm.2 >> 16 ) & $FFFF wAlignment = pfm.6 & $FFFF cTabCount = (pfm.6 >> 16 ) & $FFFF ; wpeek wNumbering, cfm, 8 ; wpeek wReserved, cfm, 10 ; wpeek wAlignment, cfm, 24 ; wpeek cTabCount, cfm, 26 ; とすることもできます