COleControlSite 類別

注意

Microsoft 基礎類別(MFC)函式庫持續被支援。 不過,我們不再新增功能或更新文件。

提供自訂用戶端控制項介面的支援。

語法

class COleControlSite : public CCmdTarget

成員

公用建構函式

名稱 描述
COleControlSite::COleControlSite 建構 COleControlSite 物件。

公用方法

名稱 描述
COleControlSite::BindDefaultProperty 將裝載控件的預設屬性系結至數據源。
COleControlSite::BindProperty 將裝載控件的屬性系結至數據源。
COleControlSite::CreateControl 建立裝載的 ActiveX 控制件。
COleControlSite::D estroyControl 終結裝載的控件。
COleControlSite::D oVerb 執行裝載控件的特定動詞。
COleControlSite::EnableDSC 啟用控制月台的數據源。
COleControlSite::EnableWindow 啟用控制月臺。
COleControlSite::FreezeEvents 指定控件網站是否接受事件。
COleControlSite::GetDefBtnCode 擷取裝載控件的預設按鈕程序代碼。
COleControlSite::GetDlgCtrlID 擷取 控件的標識碼。
COleControlSite::GetEventIID 擷取裝載控件的事件介面標識碼。
COleControlSite::GetExStyle 擷取控件網站的擴充樣式。
COleControlSite::GetProperty 擷取裝載控件的特定屬性。
COleControlSite::GetStyle 擷取控件網站的樣式。
COleControlSite::GetWindowText 擷取裝載控件的文字。
COleControlSite::InvokeHelper 叫用裝載控件的特定方法。
COleControlSite::InvokeHelperV 使用自變數清單叫用裝載控件的特定方法。
COleControlSite::IsDefaultButton 判斷控制項是否為視窗中的預設按鈕。
COleControlSite::IsWindowEnabled 檢查控件月臺的可見狀態。
COleControlSite::ModifyStyle 修改控件網站的目前擴充樣式。
COleControlSite::ModifyStyleEx 修改控件網站的目前樣式。
COleControlSite::MoveWindow 變更控件網站的位置。
COleControlSite::QuickActivate 快速啟動裝載的控制件。
COleControlSite::SafeSetProperty 設定 控件的屬性或方法,而沒有擲回例外狀況的機會。
COleControlSite::SetDefaultButton 設定視窗中的預設按鈕。
COleControlSite::SetDlgCtrlID 擷取 控件的標識碼。
COleControlSite::SetFocus 將焦點設定為控件網站。
COleControlSite::SetProperty 設定裝載控件的特定屬性。
COleControlSite::SetPropertyV 使用自變數清單設定裝載控件的特定屬性。
COleControlSite::SetWindowPos 設定控件網站的位置。
COleControlSite::SetWindowText 設定主控控件的文字。
COleControlSite::ShowWindow 顯示或隱藏控件網站。

受保護的方法

名稱 描述
COleControlSite::GetControlInfo 擷取裝載控件的鍵盤資訊和助記鍵。

公用資料成員

名稱 描述
COleControlSite::m_bIsWindowless 判斷裝載的控制項是否為無視窗控制項。
COleControlSite::m_ctlInfo 包含控件之鍵盤處理的相關信息。
COleControlSite::m_dwEventSink 控件連接點的 Cookie。
COleControlSite::m_dwMiscStatus 裝載控件的雜項狀態。
COleControlSite::m_dwPropNotifySink 控件 IPropertyNotifySink 的 Cookie。
COleControlSite::m_dwStyle 主控控件的樣式。
COleControlSite::m_hWnd 控制月臺的句柄。
COleControlSite::m_iidEvents 裝載控件之事件介面的標識碼。
COleControlSite::m_nID 裝載控件的標識碼。
COleControlSite::m_pActiveObject 主控控件物件的指標 IOleInPlaceActiveObject 。
COleControlSite::m_pCtrlCont 裝載控件的容器。
COleControlSite::m_pInPlaceObject 主控控件物件的指標 IOleInPlaceObject 。
COleControlSite::m_pObject 控件介面的指標 IOleObjectInterface 。
COleControlSite::m_pWindowlessObject 控件介面的指標 IOleInPlaceObjectWindowless 。
COleControlSite::m_pWndCtrl 主控控件之窗口物件的指標。
COleControlSite::m_rect 控件月臺的維度。

備註

此支援是內嵌 ActiveX 控制項取得其顯示網站位置與範圍、Moniker、使用者介面、環境屬性,以及其容器提供之其他資源的相關信息的主要手段。 COleControlSite完全實作 IOleControlSite、IOleInPlaceSite、IOleClientSite、IPropertyNotifySink、、、IBoundObjectSiteINotifyDBEvents 介面。 此外,也會實作 IDispatch 介面(提供環境屬性和事件接收的支援)。

若要使用 COleControlSite建立 ActiveX 控件網站,請從 COleControlSite衍生類別。 在 CWnd容器的衍生類別中,(例如,您的對話框)會覆寫 函 CWnd::CreateControlSite 式。

繼承階層架構

CObject

CCmdTarget

COleControlSite

需求

標頭: afxocc.h

COleControlSite::BindDefaultProperty

將呼叫對象的默認簡單綁定屬性系結至數據源控件之 DataSource、UserName、Password 和 SQL 屬性所定義的基礎數據指標。

virtual void BindDefaultProperty(
    DISPID dwDispID,
    VARTYPE vtProp,
    LPCTSTR szFieldName,
    CWnd* pDSCWnd);

參數

dwDispID
指定要系結至數據源控件之數據綁定控件上的屬性 DISPID。

vtProp
指定要系結的屬性類型,例如VT_BSTR、VT_VARIANT等等。

szFieldName
在數據源控件所提供的數據指標中,指定要系結屬性的數據行名稱。

pDSCWnd
裝載屬性所系結之數據源控件之 CWnd衍生物件的指標。

備註

CWnd您呼叫此函式的物件必須是數據綁定控件。

COleControlSite::BindProperty

將呼叫對象的簡單綁定屬性系結至數據源控件的 DataSource、UserName、Password 和 SQL 屬性所定義的基礎數據指標。

virtual void BindProperty(
    DISPID dwDispId,
    CWnd* pWndDSC);

參數

dwDispId
指定要系結至數據源控件之數據綁定控件上的屬性 DISPID。

pWndDSC
裝載屬性所系結之數據源控件之 CWnd衍生物件的指標。

備註

CWnd您呼叫此函式的物件必須是數據綁定控件。

COleControlSite::COleControlSite

建構新的 COleControlSite 物件。

explicit COleControlSite(COleControlContainer* pCtrlCont);

參數

pCtrlCont
控件容器的指標(代表裝載 AtiveX 控件的視窗)。

備註

COccManager::CreateContainer 函式會呼叫此函式。 如需自定義容器建立的詳細資訊,請參閱 COccManager::CreateSite。

COleControlSite::CreateControl

建立由 對象裝載的 COleControlSite ActiveX控制件。

virtual HRESULT CreateControl(
    CWnd* pWndCtrl,
    REFCLSID clsid,
    LPCTSTR lpszWindowName,
    DWORD dwStyle,
    const RECT& rect,
    UINT nID,
    CFile* pPersist = NULL,
    BOOL bStorage = FALSE,
    BSTR bstrLicKey = NULL);

virtual HRESULT CreateControl(
    CWnd* pWndCtrl,
    REFCLSID clsid,
    LPCTSTR lpszWindowName,
    DWORD dwStyle,
    const POINT* ppt,
    const SIZE* psize,
    UINT nID,
    CFile* pPersist = NULL,
    BOOL bStorage = FALSE,
    BSTR bstrLicKey = NULL);

參數

pWndCtrl
代表控件之窗口物件的指標。

clsid
控制項的唯一類別 ID。

lpszWindowName
要顯示在控件中之文字的指標。 設定winodw的 Caption 或 Text 屬性的值(如果有的話)。

dwStyle
視窗樣式。 可用的樣式列在 [備註] 區段底下。

矩形
指定控制項的大小和位置。 它可以是 CRect 對象或 RECT 結構。

nID
指定控制件的子視窗識別碼。

pPersist
的指標 CFile ,包含控件的永續性狀態。 默認值為 NULL,表示控件會初始化本身,而不會從任何永續性記憶體還原其狀態。 如果不是 NULL,它應該是包含控件之永續性數據的衍生物件的指標 CFile,格式為數據流或記憶體。 此資料可能已儲存在用戶端先前的啟用中。 CFile可以包含其他數據,但必須在呼叫 CreateControl時將其讀寫指標設定為持續性數據的第一個字節。

bStorage
指出 pPersist 中的數據是否應該解譯為 IStorage 或 IStream 數據。 如果 pPersist 中的數據是記憶體,bStorage 應該是 TRUE。 如果 pPersist 中的數據是數據流,bStorage 應該是 FALSE。 預設值為 FALSE。

bstrLicKey
選擇性授權金鑰數據。 此數據僅適用於建立需要運行時間授權金鑰的控制件。 如果控件支持授權,您必須提供授權密鑰,才能成功建立控件。 預設值是 NULL。

ppt
包含控件左上角之 結構的指標 POINT 。 控件的大小取決於 psize 的值。 ppt 和 psize 值是指定控件大小和位置的選擇性方法。

psize
結構的指標 SIZE ,其中包含控件的大小。 左上角取決於ppt的值。 ppt 和 psize 值是指定控件大小和位置的選擇性方法。

傳回值

標準 HRESULT 值。

備註

僅支援 Windows CreateControl 旗標的子集:

  • WS_VISIBLE建立一開始可見的視窗。 如果您想要讓控件立即顯示,則需要 ,就像一般窗口一樣。

  • WS_DISABLED建立一開始停用的視窗。 停用的視窗無法從使用者接收輸入。 如果控件具有 Enabled 屬性,可以設定。

  • WS_BORDER建立具有細線框線的視窗。 如果控件具有 BorderStyle 屬性,可以設定。

  • WS_GROUP 指定控件群組的第一個控制件。 使用者可以使用方向鍵,將鍵盤焦點從群組中的一個控件變更為下一個控件。 第一個控件屬於同一個群組之後,以WS_GROUP樣式定義的所有控件。 具有WS_GROUP樣式的下一個控件會結束群組,並啟動下一個群組。

  • WS_TABSTOP 指定當使用者按下 TAB 鍵時,可以接收鍵盤焦點的控件。 按下 TAB 鍵會將鍵盤焦點變更為WS_TABSTOP樣式的下一個控件。

使用第二個多載來建立預設大小的控制件。

COleControlSite::D estroyControl

COleControlSite終結物件。

virtual BOOL DestroyControl();

傳回值

如果成功,則為非零,否則為 0。

備註

完成後,物件會從記憶體中釋出,而且物件的任何指標都不再有效。

COleControlSite::D oVerb

執行指定的動詞。

virtual HRESULT DoVerb(
    LONG nVerb,
    LPMSG lpMsg = NULL);

參數

nVerb
指定要執行的動詞。 它可以包含下列其中一項:

值 意義 符號
0 主動詞命令 OLEIVERB_PRIMARY
-1 次要動詞 (無)
1 顯示要編輯的物件。 OLEIVERB_SHOW
-2 編輯個別視窗中的專案。 OLEIVERB_OPEN
-3 隱藏物件。 OLEIVERB_HIDE
-4 就地啟動控制件。 OLEIVERB_UIACTIVATE
5- 啟動控制項就地,而不需要額外的使用者介面元素。 OLEIVERB_INPLACEACTIVATE
-7 顯示控件的屬性。 OLEIVERB_PROPERTIES

lpMsg
導致項目啟動之訊息的指標。

傳回值

標準 HRESULT 值。

備註

此函式會直接透過控件的 IOleObject 介面呼叫,以執行指定的動詞。 如果因為這個函數調用而擲回例外狀況,則會傳回 HRESULT 錯誤碼。

如需詳細資訊,請參閱 Windows SDK 中的 IOleObject::D oVerb 。

COleControlSite::EnableDSC

啟用控制月台的數據源。

virtual void EnableDSC();

備註

由架構呼叫,以啟用和初始化控制月臺的數據來源。 覆寫此函式以提供自定義的行為。

COleControlSite::EnableWindow

啟用或停用控件網站的滑鼠和鍵盤輸入。

virtual BOOL EnableWindow(BOOL bEnable);

參數

bEnable
指定是否要啟用或停用視窗:如果要啟用窗口輸入,則為TRUE,否則為 FALSE。

傳回值

如果先前停用視窗,則為非零,否則為 0。

COleControlSite::FreezeEvents

指定控件網站是否會處理或忽略從控件引發的事件。

void FreezeEvents(BOOL bFreeze);

參數

bFreeze
指定控制項站台是否想要停止接受事件。 如果控件不接受事件,則為非零;否則為零。

備註

如果 bFreeze 為 TRUE,控件網站會要求控件停止引發事件。 如果 bFreeze 為 FALSE,控件網站會要求控件繼續引發事件。

注意

如果控件網站要求,則不需要控件停止引發事件。 它可以繼續引發,但控制月臺會忽略所有後續事件。

COleControlSite::GetControlInfo

擷取控件鍵盤助記鍵和鍵盤行為的相關信息。

void GetControlInfo();

備註

此資訊會儲存在 COleControlSite::m_ctlInfo中。

COleControlSite::GetDefBtnCode

判斷控制項是否為預設的按下按鈕。

DWORD GetDefBtnCode();

傳回值

可以是下列值之一:

  • DLGC_DEFPUSHBUTTON控件是對話框中的預設按鈕。

  • DLGC_UNDEFPUSHBUTTON控件不是對話框中的預設按鈕。

  • 0 控制件不是按鈕。

COleControlSite::GetDlgCtrlID

擷取 控件的標識碼。

virtual int GetDlgCtrlID() const;

傳回值

控件的對話框項目識別碼。

COleControlSite::GetEventIID

擷取控件預設事件介面的指標。

BOOL GetEventIID(IID* piid);

參數

piid
介面識別碼的指標。

傳回值

如果成功,則為非零,否則為 0。 如果成功, piid 會包含控件預設事件介面的介面標識碼。

COleControlSite::GetExStyle

擷取視窗的延伸樣式。

virtual DWORD GetExStyle() const;

傳回值

控制件視窗的延伸樣式。

備註

若要擷取一般樣式,請呼叫 COleControlSite::GetStyle。

COleControlSite::GetProperty

取得 dwDispID 所指定的控件屬性。

virtual void GetProperty(
    DISPID dwDispID,
    VARTYPE vtProp,
    void* pvProp) const;

參數

dwDispID
識別要擷取之控件默認 IDispatch 介面上所找到之屬性的分派標識碼。

vtProp
指定要擷取的屬性類型。 如需可能的值,請參閱 COleDispatchDriver::InvokeHelper的<備註>一節。

pvProp
將接收屬性值之變數的位址。 它必須符合 vtProp 指定的類型。

備註

此值會透過 pvProp 傳回。

COleControlSite::GetStyle

擷取控件網站的樣式。

virtual DWORD GetStyle() const;

傳回值

窗口的樣式。

備註

如需可能值的清單,請參閱 Windows 樣式。 若要擷取控件網站的擴充樣式,請呼叫 COleControlSite::GetExStyle。

COleControlSite::GetWindowText

擷取控件的目前文字。

virtual void GetWindowText(CString& str) const;

參數

str
對象的參考 CString ,其中包含控制件的目前文字。

備註

如果控件支援 Caption stock 屬性,則會傳回此值。 如果不支援 Caption stock 屬性,則會傳回 Text 屬性的值。

COleControlSite::InvokeHelper

在 wFlags 所指定的內容中,叫用 dwDispID 所指定的方法或屬性。

virtual void AFX_CDECL InvokeHelper(
    DISPID dwDispID,
    WORD wFlags,
    VARTYPE vtRet,
    void* pvRet,
    const BYTE* pbParamInfo, ...);

參數

dwDispID
識別要叫用之控件介面上所找到之屬性或方法的 IDispatch 分派標識碼。

wFlags
描述要呼叫 IDispatch::Invoke時之內容的旗標。 如需可能的 wFlags 值,請參閱 IDispatch::Invoke Windows SDK 中的 。

vtRet
指定傳回值的類型。 如需可能的值,請參閱 COleDispatchDriver::InvokeHelper的<備註>一節。

pvRet
要接收屬性值或傳回值之變數的位址。 它必須符合 vtRet 所指定的類型。

pbParamInfo
指定 pbParamInfo 下列參數類型的以 Null 終止的位元元元串指標。 如需可能的值,請參閱 COleDispatchDriver::InvokeHelper的<備註>一節。

...
參數的變數清單,pbParamInfo 中指定的類型。

備註

pbParamInfo 參數會指定傳遞至方法或屬性的參數類型。 引數的變數清單會以 ... 語法宣告代表。

此函式會將參數轉換成 VARIANTARG 值,然後在控件上叫用 IDispatch::Invoke 方法。 若呼叫 IDispatch::Invoke 失敗,此函式會擲回例外狀況。 如果 傳 IDispatch::Invoke 回的狀態代碼為 DISP_E_EXCEPTION,則此函式會擲回 COleDispatchException 物件,否則會擲回 COleException。

COleControlSite::InvokeHelperV

在 wFlags 所指定的內容中,叫用 dwDispID 所指定的方法或屬性。

virtual void InvokeHelperV(
    DISPID dwDispID,
    WORD wFlags,
    VARTYPE vtRet,
    void* pvRet,
    const BYTE* pbParamInfo,
    va_list argList);

參數

dwDispID
識別要叫用之控件介面上所找到之屬性或方法的 IDispatch 分派標識碼。

wFlags
描述要呼叫 IDispatch::Invoke時之內容的旗標。

vtRet
指定傳回值的類型。 如需可能的值,請參閱 COleDispatchDriver::InvokeHelper的<備註>一節。

pvRet
要接收屬性值或傳回值之變數的位址。 它必須符合 vtRet 所指定的類型。

pbParamInfo
指定 pbParamInfo 下列參數類型的以 Null 終止的位元元元串指標。 如需可能的值,請參閱 COleDispatchDriver::InvokeHelper的<備註>一節。

argList
變數自變數清單的指標。

備註

pbParamInfo 參數會指定傳遞至方法或屬性的參數類型。 叫用 之方法或屬性的額外參數可以使用 va_list 參數傳遞。

一般而言,這個函式是由呼叫 COleControlSite::InvokeHelper。

COleControlSite::IsDefaultButton

判斷控制項是否為預設按鈕。

BOOL IsDefaultButton();

傳回值

如果控件是視窗上的預設按鈕,則為非零,否則為零。

COleControlSite::IsWindowEnabled

判斷控件網站是否已啟用。

virtual BOOL IsWindowEnabled() const;

傳回值

如果控件已啟用,則為非零,否則為零。

備註

值是從控件的 Enabled stock 屬性擷取。

COleControlSite::m_bIsWindowless

判斷物件是否為無視窗控制件。

BOOL m_bIsWindowless;

備註

如果控件沒有視窗,則為非零,否則為零。

COleControlSite::m_ctlInfo

控制項如何處理鍵盤輸入的資訊。

CONTROLINFO m_ctlInfo;

備註

這項資訊會儲存在CONTROLINFO結構中。

COleControlSite::m_dwEventSink

包含來自控件事件接收的連接點 Cookie。

DWORD m_dwEventSink;

COleControlSite::m_dwMiscStatus

包含控件的相關其他資訊。

DWORD m_dwMiscStatus;

備註

如需詳細資訊,請參閱 Windows SDK 中的 OLEMISC 。

COleControlSite::m_dwPropNotifySink

包含 IPropertyNotifySink Cookie。

DWORD m_dwPropNotifySink;

COleControlSite::m_dwStyle

包含控制件的視窗樣式。

DWORD m_dwStyle;

COleControlSite::m_hWnd

包含控件的 HWND,如果控件為無視窗,則為 NULL。

HWND m_hWnd;

COleControlSite::m_iidEvents

包含控制項預設事件接收介面的介面識別碼。

IID m_iidEvents;

COleControlSite::m_nID

包含控制件的對話框項目識別碼。

UINT m_nID;

COleControlSite::m_pActiveObject

包含 控件的 IOleInPlaceActiveObject 介面。

LPOLEINPLACEACTIVEOBJECT m_pActiveObject;

COleControlSite::m_pCtrlCont

包含控制件的容器(代表表單)。

COleControlContainer* m_pCtrlCont;

COleControlSite::m_pInPlaceObject

包含 IOleInPlaceObject控件的 IOleInPlaceObject 介面。

LPOLEINPLACEOBJECT m_pInPlaceObject;

COleControlSite::m_pObject

包含 IOleObjectInterface 控制件的介面。

LPOLEOBJECT m_pObject;

COleControlSite::m_pWindowlessObject

包含 IOleInPlaceObjectWindowless 控制件的介面。

IOleInPlaceObjectWindowless* m_pWindowlessObject;

COleControlSite::m_pWndCtrl

包含代表控件本身之 物件的指標 CWnd 。

CWnd* m_pWndCtrl;

COleControlSite::m_rect

包含控制件的界限,相對於容器的視窗。

CRect m_rect;

COleControlSite::ModifyStyle

修改控件的樣式。

virtual BOOL ModifyStyle(
    DWORD dwRemove,
    DWORD dwAdd,
    UINT nFlags);

參數

dwRemove
要從目前視窗樣式中移除的樣式。

dwAdd
要從目前窗口樣式新增的樣式。

nFlags
視窗定位旗標。 如需可能值的清單,請參閱 Windows SDK 中的 SetWindowPos 函式。

傳回值

如果樣式已變更,則為非零,否則為零。

備註

控件的 stock Enabled 屬性將會修改,以符合WS_DISABLED的設定。 控件的內建框線樣式屬性將會修改,以符合WS_BORDER的要求設定。 如果控件的視窗句柄存在,則所有其他樣式都會直接套用至控件的視窗控點。

修改控制件的視窗樣式。 要加入或移除的樣式可以使用位 OR (|) 運算符來結合。 如需可用窗口樣式的相關信息,請參閱 Windows SDK 中的 CreateWindow 函式。

如果 nFlags 為非零值, ModifyStyle 請呼叫 Win32 函 SetWindowPos式,並結合 nFlags 與下列四個旗標來重新繪製視窗:

  • SWP_NOSIZE 保留目前的大小。

  • SWP_NOMOVE保留目前的位置。

  • SWP_NOZORDER保留目前的 Z 順序。

  • SWP_NOACTIVATE不會啟動視窗。

若要修改視窗的延伸樣式,請呼叫 ModifyStyleEx。

COleControlSite::ModifyStyleEx

修改控件的擴充樣式。

virtual BOOL ModifyStyleEx(
    DWORD dwRemove,
    DWORD dwAdd,
    UINT nFlags);

參數

dwRemove
要從目前視窗樣式中移除的擴充樣式。

dwAdd
要從目前窗口樣式新增的擴充樣式。

nFlags
視窗定位旗標。 如需可能值的清單,請參閱 Windows SDK 中的 SetWindowPos 函式。

傳回值

如果樣式已變更,則為非零,否則為零。

備註

控件的 stock Appearance 屬性將會修改為符合WS_EX_CLIENTEDGE的設定。 如果控件的視窗句柄存在,所有其他擴充窗口樣式都會直接套用至控件的視窗控點。

修改控件網站對象的視窗延伸樣式。 要加入或移除的樣式可以使用位 OR (|) 運算符來結合。 如需可用窗口樣式的相關信息,請參閱 Windows SDK 中的 CreateWindowEx 函式。

如果 nFlags 為非零值, ModifyStyleEx 請呼叫 Win32 函 SetWindowPos式,並結合 nFlags 與下列四個旗標來重新繪製視窗:

  • SWP_NOSIZE 保留目前的大小。

  • SWP_NOMOVE保留目前的位置。

  • SWP_NOZORDER保留目前的 Z 順序。

  • SWP_NOACTIVATE不會啟動視窗。

若要修改視窗的延伸樣式,請呼叫 ModifyStyle。

COleControlSite::MoveWindow

變更控制元件的位置。

virtual void MoveWindow(
    int x,
    int y,
    int nWidth,
    int nHeight);

參數

x
視窗左側的新位置。

y
視窗頂端的新位置。

nWidth
視窗的新寬度

nHeight
視窗的新高度。

COleControlSite::QuickActivate

快速啟動自主控制件。

virtual BOOL QuickActivate();

傳回值

如果控制月臺已啟用,則為非零,否則為零。

備註

只有當使用者覆寫 控件的建立程式時,才應該呼叫此函式。

在 IPersist*::Load 快速啟用之後,應該呼叫 和 IPersist*::InitNew 方法。 控件應該會在快速啟用期間建立與容器接收的連線。 不過,在呼叫 或 IPersist*::Load 之前IPersist*::InitNew,這些連線不會上線。

COleControlSite::SafeSetProperty

設定 dwDispID 所指定的控件屬性。

virtual BOOL AFX_CDECL SafeSetProperty(
    DISPID dwDispID,
    VARTYPE vtProp, ...);

參數

dwDispID
識別要設定之控件介面上所找到之屬性或方法的 IDispatch 分派標識碼。

vtProp
指定要設定的屬性類型。 如需可能的值,請參閱 COleDispatchDriver::InvokeHelper的<備註>一節。

...
vtProp 所指定類型的單一參數。

傳回值

如果成功則不為零,否則為 0。

備註

注意

SetProperty與和 不同SetPropertyV,如果遇到錯誤(例如嘗試設定不存在的屬性),則不會擲回例外狀況。

COleControlSite::SetDefaultButton

將控件設定為預設按鈕。

void SetDefaultButton(BOOL bDefault);

參數

bDefault
如果控件應該成為預設按鈕,則為非零;否則為零。

備註

注意

控件必須設定OLEMISC_ACTSLIKEBUTTON狀態位。

COleControlSite::SetDlgCtrlID

變更控制項對話框項目識別碼的值。

virtual int SetDlgCtrlID(int nID);

參數

nID
新的識別碼值。

傳回值

如果成功,視窗的上一個對話框專案標識元;否則為 0。

備註

COleControlSite::SetFocus

將焦點設定為控件。

virtual CWnd* SetFocus();
virtual CWnd* SetFocus(LPMSG lpmsg);

參數

lpmsg
MSG 結構的指標。 此結構包含 Windows 訊息,觸發 SetFocus 目前控件網站中所含控件的要求。

傳回值

先前擁有焦點之視窗的指標。

COleControlSite::SetProperty

設定 dwDispID 所指定的控件屬性。

virtual void AFX_CDECL SetProperty(
    DISPID dwDispID,
    VARTYPE vtProp, ...);

參數

dwDispID
識別要設定之控件介面上所找到之屬性或方法的 IDispatch 分派標識碼。

vtProp
指定要設定的屬性類型。 如需可能的值,請參閱 COleDispatchDriver::InvokeHelper的<備註>一節。

...
vtProp 所指定類型的單一參數。

備註

如果 SetProperty 發生錯誤,則會擲回例外狀況。

例外狀況的類型取決於嘗試設定屬性或方法的傳回值。 如果傳回值為 DISP_E_EXCEPTION, COleDispatchExcpetion 則會擲回 ,否則為 COleException。

COleControlSite::SetPropertyV

設定 dwDispID 所指定的控件屬性。

virtual void SetPropertyV(
    DISPID dwDispID,
    VARTYPE vtProp,
    va_list argList);

參數

dwDispID
識別要設定之控件介面上所找到之屬性或方法的 IDispatch 分派標識碼。

vtProp
指定要設定的屬性類型。 如需可能的值,請參閱 COleDispatchDriver::InvokeHelper的<備註>一節。

argList
引數清單的指標。

備註

叫用 之方法或屬性的額外參數可以使用 arg_list 參數傳遞。 如果 SetProperty 發生錯誤,則會擲回例外狀況。

例外狀況的類型取決於嘗試設定屬性或方法的傳回值。 如果傳回值為 DISP_E_EXCEPTION, COleDispatchExcpetion 則會擲回 ,否則為 COleException。

COleControlSite::SetWindowPos

設定控制月臺的大小、位置和 Z 順序。

virtual BOOL SetWindowPos(
    const CWnd* pWndInsertAfter,
    int x,
    int y,
    int cx,
    int cy,
    UINT nFlags);

參數

pWndInsertAfter
視窗的指標。

x
視窗左側的新位置。

y
視窗頂端的新位置。

cx
視窗的新寬度

cy
視窗的新高度。

nFlags
指定視窗大小調整和定位旗標。 如需可能的值,請參閱 Windows SDK 中 SetWindowPos 的一節。

傳回值

如果成功,則為非零,否則為零。

COleControlSite::SetWindowText

設定控件網站的文字。

virtual void SetWindowText(LPCTSTR lpszString);

參數

lpszString
要做為新標題或控件文字之 Null 終止字串的指標。

備註

此函式會先嘗試設定 Caption stock 屬性。 如果不支援 Caption stock 屬性,則會改為設定 Text 屬性。

COleControlSite::ShowWindow

設定視窗的顯示狀態。

virtual BOOL ShowWindow(int nCmdShow);

參數

nCmdShow
指定控件月臺的顯示方式。 它必須是下列其中一個值:

  • SW_HIDE隱藏此視窗,並將啟用傳遞至另一個視窗。

  • SW_MINIMIZE最小化視窗,並在系統清單中啟動最上層視窗。

  • SW_RESTORE啟動並顯示視窗。 如果視窗最小化或最大化,Windows 會將它還原至其原始大小和位置。

  • SW_SHOW啟動視窗,並將其顯示在其目前的大小和位置。

  • SW_SHOWMAXIMIZED啟動視窗,並將它顯示為最大化的視窗。

  • SW_SHOWMINIMIZED啟動視窗,並將其顯示為圖示。

  • SW_SHOWMINNOACTIVE將窗口顯示為圖示。 目前使用中的視窗會維持使用中狀態。

  • SW_SHOWNA以目前狀態顯示視窗。 目前使用中的視窗會維持使用中狀態。

  • SW_SHOWNOACTIVATE 以最新的大小和位置顯示視窗。 目前使用中的視窗會維持使用中狀態。

  • SW_SHOWNORMAL啟動並顯示視窗。 如果視窗最小化或最大化,Windows 會將它還原至其原始大小和位置。

傳回值

如果先前顯示視窗,則為非零;如果先前已隱藏視窗,則為 0。

另請參閱

CCmdTarget 類別
階層架構圖表
COleControlContainer 類別