共用方式為


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 參數中傳遞至 DoVerbDoVerb 的一般實作包含 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 方法來叫用表單上的動詞。

另請參閱

IMAPIForm::SetViewContext

IMAPIViewContext::GetViewStatus

IMAPIForm:IUnknown

MFCMAPI 作為程式碼範例

表單動詞