COleControlSite 類別
提供自訂用戶端控制項介面的支援。
語法
class COleControlSite : public CCmdTarget
成員
公用建構函式
名稱 | 描述 |
---|---|
COleControlSite::COleControlSite | 建構 COleControlSite 物件。 |
公用方法
受保護的方法
名稱 | 描述 |
---|---|
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、、、INotifyDBEvents
IBoundObjectSite
IRowSetNotify 介面。 此外,也會實作 IDispatch 介面(提供環境屬性和事件接收的支援)。
若要使用 COleControlSite
建立 ActiveX 控件網站,請從 COleControlSite
衍生類別。 在 CWnd
容器的衍生類別中,(例如,您的對話框)會覆寫 函 CWnd::CreateControlSite
式。
繼承階層架構
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 中的數據是否應該解譯為 IStorage
或 IStream
數據。 如果 pPersist 中的數據是記憶體,bStorage 應該是 TRUE。 如果 pPersist 中的數據是數據流,bStorage 應該是 FALSE。 預設值為 FALSE。
bstrLicKey
選擇性授權金鑰數據。 此數據僅適用於建立需要運行時間授權金鑰的控制件。 如果控件支持授權,您必須提供授權密鑰,才能成功建立控件。 預設值是 NULL。
ppt
包含控件左上角之 結構的指標 POINT
。 控件的大小取決於 psize 的值。 ppt 和 psize 值是指定控件大小和位置的選擇性方法。
psize
結構的指標 SIZE
,其中包含控件的大小。 左上角取決於ppt的值。 ppt 和 psize 值是指定控件大小和位置的選擇性方法。
傳回值
標準 HRESULT 值。
備註
僅支援 CreateControl
Windows 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_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。