IMAPIForm::D oVerb
適用於:Outlook 2013 |Outlook 2016
要求窗體執行與特定動詞相關聯的任何工作。
HRESULT DoVerb(
LONG iVerb,
LPMAPIVIEWCONTEXT lpViewContext,
ULONG_PTR hwndParent,
LPCRECT lprcPosRect
);
參數
iVerb
[in]與其中一個窗體動詞命令相關聯的數位。
lpViewContext
[in]檢視內容物件的指標。 lpViewContext 參數可以是 Null。
hwndParent
[in]這個方法所顯示之任何對話框或視窗之父視窗的句柄。 如果對話框或視窗不是強制回應, hwndParent 參數應該是 Null 。
lprcPosRect
[in]Win32 RECT 結構的指標,其中包含窗體視窗的大小和位置。
傳回值
S_OK
已成功叫用動詞命令。
OLEOBJ_S_CANNOT_DOVERB_NOW
iVerb 參數所代表的動詞是有效的,但窗體無法執行目前與其相關聯的作業。
註解
表單查看器會呼叫 IMAPIForm::D oVerb 方法,要求表單執行與表單所支援之每個動詞相關聯的工作。
每個支持的動詞都是以數值識別,在 iVerb 參數中傳遞至 DoVerb 。 DoVerb 的一般實作包含 switch 語句,可測試對表單的 iVerb 參數有效的值。
實作者注意事項
如果窗體查看器在 lpViewContext 參數中指定檢視內容,請在 DoVerb 實作中使用它,而不是在先前呼叫 IMAPIForm::SetViewContext 方法時傳遞的檢視內容。 對內部數據結構進行任何必要的變更,而不會儲存檢視內容。
在 DoVerb 實作中執行下列工作:
針對與 iVerb 參數相關聯的特定動詞命令,執行任何必要的程式碼。
如有必要,請還原原始檢視內容。
如果傳入未知的動詞號碼,則傳回 MAPI_E_NO_SUPPORT。 否則,根據執行任何動詞命令的成功或失敗傳回結果。
關閉表單。 在 DoVerb 呼叫完成之後,您必須負責關閉表單。
某些動詞命令,例如 Print,應該是 DoVerb 呼叫的強制回應,也就是說,在 DoVerb 呼叫傳回之前,必須先完成指定的作業。
若要取得窗體視窗所使用的 RECT 結構,請呼叫 GetWindowRect 函式。
請勿將句柄儲存在 hwndParent 參數中,因為雖然它通常會在 DoVerb 完成之前保持有效,但在呼叫傳回時可以立即終結。
呼叫者注意事項
您可以將 lpViewContext 指向從其 IMAPIViewContext::GetViewStatus 方法傳回VCSTATUS_MODAL旗標的檢視內容實作,讓非強制響應動詞作為強制響應動詞。
如需MAPI中動詞命令的詳細資訊,請參 閱表單動詞命令。 如需如何在 OLE 中處理動詞命令的詳細資訊,請參閱 OLE 和數據傳輸。
MFCMAPI 參考
如需 MFCMAPI 範例程式代碼,請參閱下表。
檔案 | Function | Comment |
---|---|---|
MyMAPIFormViewer.cpp |
CMyMAPIFormViewer::CallDoVerb |
MFCMAPI 使用 IMAPIForm::D oVerb 方法來叫用表單上的動詞。 |