分享方式:


COleControlSite 類別

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

語法

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完全實作 IOleControlSiteIOleInPlaceSiteIOleClientSite、IPropertyNotifySink、、INotifyDBEventsIBoundObjectSiteIRowSetNotify 介面。 此外,也會實作 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
視窗樣式。 可用的樣式列在 [備註] 區段底下

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

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

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

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

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

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

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

傳回值

標準 HRESULT 值。

備註

僅支援 CreateControlWindows dwStyle 旗標的子集:

  • 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 介面。

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*::InitNew 之前IPersist*::Load,這些連線不會上線。

COleControlSite::SafeSetProperty

設定 dwDispID指定的控件屬性。

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

參數

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

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

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

傳回值

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

備註

注意

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

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_EXCEPTIONCOleDispatchExcpetion 則會擲回 ,否則為 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_EXCEPTIONCOleDispatchExcpetion 則會擲回 ,否則為 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 類別