DTBLCOMBOBOX
適用於:Outlook 2013 |Outlook 2016
描述將用於從顯示數據表建置之對話框中的下拉式方塊控件。
屬性 | 值 |
---|---|
標頭檔: | Mapidefs.h |
相關宏: SizedDtblComboBox |
typedef struct _DTBLCOMBOBOX
{
ULONG ulbLpszCharsAllowed;
ULONG ulFlags;
ULONG ulNumCharsAllowed;
ULONG ulPRPropertyName;
ULONG ulPRTableName;
} DTBLCOMBOBOX, FAR *LPDTBLCOMBOBOX;
成員
ulbLpszCharsAllowed
從 DTBLCOMBOBOX 結構開頭到字元字串篩選的位移,描述可以輸入至下拉式方塊編輯控件之字元的限制。如果有的話。 篩選不會解譯為正則表達式,而且會將相同的篩選套用至每個輸入的字元。 篩選的格式如下:
字元 | 描述 |
---|---|
* |
允許任何字元 (例如, "*" ) 。 |
[ ] |
定義一組字元 (例如, "[0123456789]" ) 。 |
- |
表示字元範圍 (例如, "[a-z]" ) 。 |
~ |
表示不允許這些字元。 例如, () "[~0-9]" 。 |
\ |
例如,用來引用任何先前 (符號, "[\-\\\[\]]" 表示) 允許-, , [, 和 ] 字元。 |
ulFlags
用來指定字元字串篩選格式的旗標位掩碼。 您可以設定下列旗標:
MAPI_UNICODE
篩選條件是 Unicode 格式。 如果未設定MAPI_UNICODE旗標,則篩選條件會是 ANSI 格式。
ulNumCharsAllowed
可以在下拉式方塊的文字框中輸入的最大字元數。
ulPRPropertyName
類型為 PT_TSTRING 之屬性的屬性標記。
ulPRTableName
類型為 PT_OBJECT 的屬性屬性標記,可使用 OpenProperty 呼叫開啟 IMAPITable 介面。 數據表必須有一個數據行,其屬性與 ulPRPropertyName 成員所識別的屬性類型相同。 數據表的數據列是用來填入清單。
註解
DTBLCOMBOBOX 結構描述包含清單和選取欄位的控件組合框。 清單會顯示使用者可從中選取的資訊,而選取範圍字段會顯示目前的選取範圍。 選取欄位是編輯控制項,也可以用來輸入清單中尚未出現的文字。
兩個屬性標籤成員會一起運作,以協調清單顯示與編輯控件。 當MAPI第一次顯示下拉式方塊時,它會呼叫與顯示數據表相關聯之 IMAPIProp 實作的 OpenProperty 方法,以擷取 ulPRTableName 成員所代表的數據表。 此數據表有一個數據行,其中包含 ulPRPropertyName 成員所代表之屬性的值。 因此,此數據行的類型必須與 ulPRPropertyName 屬性相同,而且這兩個數據行都必須是字元字串。
數據行的值會顯示在下拉式方塊的清單區段中。 因此, PR_NULL (PidTagNull) 不是 ulPRPropertyName 的有效屬性標記。 當用戶選取其中一個數據列,或在文本框中輸入新數據時, ulPRPropertyName 屬性會設定為選取或輸入的值。
若要顯示編輯控件的初始值,MAPI 會呼叫 IMAPIProp::GetProps 來擷取顯示數據表的屬性值。 如果其中一個擷取的屬性符合 ulPRPropertyName 成員所代表的屬性,則其值會變成初始值。
如需顯示數據表的概觀,請 參閱顯示數據表。 如需如何實作顯示數據表的資訊,請參閱 實作顯示數據表。