DTCTL
適用対象: Outlook 2013 | Outlook 2016
表示テーブルから構築されたダイアログ ボックスで使用されるコントロールについて説明します。
プロパティ | 値 |
---|---|
ヘッダー ファイル: |
Mapidefs.h |
typedef struct
{
ULONG ulCtlType;
ULONG ulCtlFlags;
LPBYTE lpbNotif;
ULONG cbNotif;
LPSTR lpszFilter;
ULONG ulItemID;
union
{
LPVOID lpv;
LPDTBLLABEL lplabel;
LPDTBLEDIT lpedit;
LPDTBLLBX lplbx;
LPDTBLCOMBOBOX lpcombobox;
LPDTBLDDLBX lpddlbx;
LPDTBLCHECKBOX lpcheckbox;
LPDTBLGROUPBOX lpgroupbox;
LPDTBLBUTTON lpbutton;
LPDTBLRADIOBUTTON lpradiobutton;
LPDTBLMVLISTBOX lpmvlbx;
LPDTBLMVDDLBX lpmvddlbx;
LPDTBLPAGE lppage;
} ctl;
} DTCTL, FAR *LPDTCTL;
メンバー
ulCtlType
ctl メンバーに含まれ、コントロールのPR_CONTROL_TYPE (PidTagControlType) プロパティに対応するコントロールの種類。 使用可能な値は次のとおりです。
DTCT_LABEL
ラベル コントロール
DTCT_EDIT
コントロールを編集します。
DTCT_LBX
リスト ボックス コントロール。
DTCT_COMBOBOX
コンボ ボックス コントロール。
DTCT_DDLBX
ドロップダウン リスト コントロール。
DTCT_CHECKBOX
チェック ボックス コントロール。
DTCT_GROUPBOX
グループ ボックス コントロール。
DTCT_BUTTON
ボタン コントロール。
DTCT_PAGE
タブ付きページ コントロール。
DTCT_RADIOBUTTON
ラジオ ボタン コントロール。
DTCT_MVLISTBOX
複数値リスト コントロール。
DTCT_MVDDLBX
複数値ドロップダウン リスト コントロール。
ulCtlFlags
コントロールの機能を記述し、コントロールの PR_CONTROL_FLAGS (PidTagControlFlags) プロパティに対応するフラグのビットマスク。 これらのフラグは、チェック ボックス、コンボ ボックス、リスト ボックス、および編集コントロールにのみ設定できます。 使用可能な値は次のとおりです。
DT_ACCEPT_DBCS
ANSI 形式または DBCS 形式を使用できます。 このフラグは、編集コントロールに対してのみ有効です。
DT_EDITABLE
ユーザーはコントロール内のテキストを変更できます。
DT_MULTILINE
コントロールには複数のテキスト行を含めることができます。 このフラグは、編集コントロールに対してのみ有効です。
DT_PASSWORD_EDIT
コントロールにはパスワードが含まれています。そのため、コントロールの内容をユーザーに表示しないでください。 このフラグは、編集コントロールに対してのみ有効です。
DT_REQUIRED
ダイアログ ボックス コントロールが必要です。 このフラグは、エディット ボックス コントロールとコンボ ボックス コントロールに対してのみ有効です。
DT_SET_IMMEDIATE
コントロールの変更時に値の即時出力を有効にします。 これにより、2 つのコントロール間で依存関係を確立できます。
lpbNotif
サービス プロバイダーとコントロールの識別子を表す GUID 構造体を指すポインター。 lpbNotif メンバーと cbNotif メンバーは、コントロールのPR_CONTROL_ID (PidTagControlId) プロパティに対応しており、コントロールを更新する必要があるときにユーザー インターフェイスに通知するために使用されます。
cbNotif
lpbNotif メンバーが指す構造体のバイト数。
Lpszfilter
編集ボックス コントロールまたはコンボ ボックス コントロールに入力できる文字を示す文字列へのポインター。 他の種類のコントロールの場合、 lpszFilter メンバーは NULL にすることができます。 エディット ボックス コントロールとコンボ ボックス コントロールの場合は、一度に 1 つの文字に適用される正規表現にする必要があります。 コントロール内のすべての文字に同じフィルターが適用されます。 フィルター文字列の形式は次のとおりです。
文字 | 説明 |
---|---|
* |
任意の文字を使用できます (例: "*" )。 |
[ ] |
文字のセットを定義します (例: "[0123456789]" .) |
- |
文字の範囲を示します (例: "[a-z]" )。 |
~ |
これらの文字が許可されていないことを示します (例: "[~0-9]") 。 |
\ |
前の記号のいずれかを引用符で囲む場合に使用します (たとえば、 "[\-\\\[\]]" -, , [、] 文字が許可されていることを意味します)。 |
ulItemID
ダイアログ ボックス リソース内のコントロールを識別する値。 ulItemID メンバー DTCT_PAGE型のタブ付きページ コントロールの場合は、必要に応じて、文字列リソースからページのコンポーネント名を読み込みます。 位置とラベルの情報は、ダイアログ ボックス リソースから読み取られます。
Ctl
コントロールのデータを保持し、コントロールの PR_CONTROL_STRUCTURE (PidTagControlStructure) プロパティに対応する構造体。 コントロールの種類ごとに構造が異なります。
注釈
DTCTL 構造体は、任意の型の 1 つのコントロールを記述します。 ほとんどのメンバーは、コントロールのプロパティを設定するために使用されます。
ctl メンバーは、特定の種類のコントロールに関連する構造体の和集合です。 たとえば、 DTCTL 構造体が編集コントロールを記述している場合、 ctl メンバーは DTBLEDIT 構造体を指します。 この構造体は、コントロールの PR_CONTROL_STRUCTURE プロパティに対応します。 共用体は、 DTCTL 構造体のコンパイル時初期化を可能にする LPVOID 型の変数を最初のメンバーとして持ちます。
BuildDisplayTable 関数は、コントロール リソースから表示テーブルを構築するために DTCTL 構造体を使用しますが、DTCTL 構造体は表示テーブル自体には表示されません。 この構造体は 、BuildDisplayTable に情報を提供するだけです。
ulCtlFlags メンバーでは、4 つのフラグDT_ACCEPT_DBCS DT_EDITABLE DT_MULTILINE_and DT_PASSWORD_EDIT編集コントロールにのみ影響します。 他の 2 つのDT_REQUIREDとDT_SET_IMMEDIATEは、編集可能なコントロールに影響します。
ダイアログ ボックスで使用できるコントロールは、ラベル、テキスト ボックス、インク対応テキスト ボックス、リスト、ドロップダウン リスト、コンボ ボックス、チェック ボックス、グループ ボックス、ボタン、ラジオ ボタン、タブ付きページです。
表示テーブルの概要については、「テーブルの 表示」を参照してください。 表示テーブルを実装する方法については、「表示テーブルの 実装」を参照してください。