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 | ホストされたコントロールのイベント インターフェイスの ID を取得します。 |
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 | ホストされるコントロールのイベント インターフェイスの ID。 |
COleControlSite::m_nID | ホストされているコントロールの ID。 |
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 コントロールが、表示サイトの場所と範囲、モニカー、ユーザー インターフェイス、アンビエント プロパティ、およびそのコンテナーによって提供されるその他のリソースに関する情報を取得する主な手段です。 COleControlSite
IOleControlSite、IOleInPlaceSite、IOleClientSite、IPropertyNotifySink、IBoundObjectSite
、INotifyDBEvents
、IRowSetNotify インターフェイスを完全に実装します。 さらに、IDispatch インターフェイス (アンビエント プロパティとイベント シンクのサポートを提供) も実装されます。
COleControlSite
を使用して ActiveX コントロール サイトを作成するには、COleControlSite
からクラスを派生させます。 コンテナーの CWnd
派生クラス (ダイアログ ボックスなど) で、 CWnd::CreateControlSite
関数をオーバーライドします。
継承階層
COleControlSite
要件
Header: 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
Windows スタイル。 使用可能なスタイルは、 Remarks セクションの下に一覧表示されます。
rect
コントロールのサイズと位置を指定します。 CRect
オブジェクトまたはRECT
構造体のいずれかを指定できます。
nID
コントロールの子ウィンドウ ID を指定します。
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 スタイルの次のコントロールに変更されます。
2 番目のオーバーロードを使用して、既定のサイズのコントロールを作成します。
COleControlSite::D estroyControl
COleControlSite
オブジェクトを破棄します。
virtual BOOL DestroyControl();
戻り値
成功した場合は 0 以外。それ以外の場合は 0。
解説
完了すると、オブジェクトはメモリから解放され、オブジェクトへのポインターは無効になります。
COleControlSite::D oVerb
指定した動詞を実行します。
virtual HRESULT DoVerb(
LONG nVerb,
LPMSG lpMsg = NULL);
パラメーター
nVerb
実行する動詞を指定します。 これには、次のいずれかを含めることができます。
Value | 意味 | 記号 |
---|---|---|
0 | 主動詞 | OLEIVERB_PRIMARY |
-1 | 第 2 動詞 | (なし) |
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 以外、それ以外の場合は 0。
COleControlSite::FreezeEvents
コントロール サイトがコントロールから発生したイベントを処理するか無視するかを指定します。
void FreezeEvents(BOOL bFreeze);
パラメーター
bFreeze
コントロール サイトにおけるイベントの受け取りを中止するかどうかを指定します。 コントロールがイベントを受け入れられない場合は 0 以外。それ以外の場合は 0。
解説
bFreeze が TRUE の場合、コントロール サイトはイベントの発生を停止するようにコントロールに要求します。 bFreeze が FALSE の場合、コントロール サイトはイベントの発生を継続するようにコントロールに要求します。
Note
コントロール サイトから要求された場合、コントロールはイベントの発生を停止する必要はありません。 引き続き起動できますが、後続のすべてのイベントはコントロール サイトによって無視されます。
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
インターフェイス ID へのポインター。
戻り値
成功した場合は 0 以外。それ以外の場合は 0。 成功した場合、 piid には、コントロールの既定のイベント インターフェイスのインターフェイス ID が含まれます。
COleControlSite::GetExStyle
ウィンドウの拡張スタイルを取得します。
virtual DWORD GetExStyle() const;
戻り値
コントロール ウィンドウの拡張スタイル。
解説
通常のスタイルを取得するには、 COleControlSite::GetStyle を呼び出します。
COleControlSite::GetProperty
dwDispID で指定されたコントロール プロパティを取得します。
virtual void GetProperty(
DISPID dwDispID,
VARTYPE vtProp,
void* pvProp) const;
パラメーター
dwDispID
取得するコントロールの既定の IDispatch
インターフェイスにあるプロパティのディスパッチ ID を識別します。
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 ストック プロパティをサポートしている場合、この値が返されます。 Caption ストック プロパティがサポートされていない場合は、Text プロパティの値が返されます。
COleControlSite::InvokeHelper
wFlags で指定されたコンテキストで、dwDispID で指定されたメソッドまたはプロパティを呼び出します。
virtual void AFX_CDECL InvokeHelper(
DISPID dwDispID,
WORD wFlags,
VARTYPE vtRet,
void* pvRet,
const BYTE* pbParamInfo, ...);
パラメーター
dwDispID
呼び出されるコントロールの IDispatch
インターフェイスで見つかったプロパティまたはメソッドのディスパッチ ID を識別します。
wFlags
IDispatch::Invoke呼び出しのコンテキストを記述するフラグ。 可能な wFlags 値については、Windows SDK の IDispatch::Invoke
を参照してください。
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
インターフェイスで見つかったプロパティまたはメソッドのディスパッチ ID を識別します。
wFlags
IDispatch::Invoke呼び出しのコンテキストを記述するフラグ。
vtRet
戻り値の型を指定します。 使用できる値については、 COleDispatchDriver::InvokeHelperの「解説」をご覧ください。
pvRet
プロパティ値または戻り値を受け取る変数のアドレス。 vtRet で指定された型と一致する必要があります。
pbParamInfo
pbParamInfo に続くパラメーターの型を指定する、null で終わるバイト文字列へのポインター。 使用できる値については、 COleDispatchDriver::InvokeHelperの「解説」をご覧ください。
argList
変数引数リストへのポインター。
解説
pbParamInfo パラメーターは、メソッドまたはプロパティに渡されるパラメーターの型を指定します。 呼び出されるメソッドまたはプロパティの追加のパラメーターは、 va_list パラメーターを使用して渡すことができます。
通常、この関数は COleControlSite::InvokeHelper
によって呼び出されます。
COleControlSite::IsDefaultButton
コントロールが既定のボタンであるかどうかを判断します。
BOOL IsDefaultButton();
戻り値
コントロールがウィンドウの既定のボタンの場合は 0 以外、それ以外の場合は 0。
COleControlSite::IsWindowEnabled
コントロール サイトが有効かどうかを判断します。
virtual BOOL IsWindowEnabled() const;
戻り値
コントロールが有効な場合は 0 以外、それ以外の場合は 0。
解説
この値は、コントロールの Enabled ストック プロパティから取得されます。
COleControlSite::m_bIsWindowless
オブジェクトがウィンドウなしのコントロールであるかどうかを判断します。
BOOL m_bIsWindowless;
解説
コントロールにウィンドウがない場合は 0 以外、それ以外の場合は 0。
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
コントロールの Window スタイルを格納します。
DWORD m_dwStyle;
COleControlSite::m_hWnd
コントロールの HWND を格納します。コントロールがウィンドウレスの場合は NULL です。
HWND m_hWnd;
COleControlSite::m_iidEvents
コントロールの既定のイベント シンク インターフェイスのインターフェイス ID を格納します。
IID m_iidEvents;
COleControlSite::m_nID
コントロールのダイアログ 項目 ID を格納します。
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 に関するページを参照してください。
戻り値
スタイルが変更された場合は 0 以外、それ以外の場合は 0。
解説
コントロールの stock Enabled プロパティは、WS_DISABLEDの設定と一致するように変更されます。 コントロールのストック Border Style プロパティは、WS_BORDERの要求された設定に合わせて変更されます。 他のすべてのスタイルは、コントロールのウィンドウ ハンドル (存在する場合) に直接適用されます。
コントロールのウィンドウ スタイルを変更します。 追加または削除するスタイルは、ビットごとの OR (|
) 演算子を使用して結合できます。 使用可能なウィンドウ スタイルについては、Windows SDK の CreateWindow 関数を参照してください。
nFlags が 0 以外の場合、ModifyStyle
は Win32 関数 SetWindowPos
を呼び出し、nFlags を次の 4 つのフラグと組み合わせてウィンドウを再描画します。
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 に関するページを参照してください。
戻り値
スタイルが変更された場合は 0 以外、それ以外の場合は 0。
解説
コントロールのストック外観プロパティは、WS_EX_CLIENTEDGEの設定に合わせて変更されます。 他のすべての拡張ウィンドウ スタイルは、コントロールのウィンドウ ハンドル (存在する場合) に直接適用されます。
コントロール サイト オブジェクトのウィンドウ拡張スタイルを変更します。 追加または削除するスタイルは、ビットごとの OR (|
) 演算子を使用して結合できます。 使用可能なウィンドウ スタイルについては、Windows SDK の CreateWindowEx 関数を参照してください。
nFlags が 0 以外の場合、ModifyStyleEx
は Win32 関数 SetWindowPos
を呼び出し、nFlags を次の 4 つのフラグと組み合わせてウィンドウを再描画します。
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();
戻り値
コントロール サイトがアクティブ化された場合は 0 以外、それ以外の場合は 0。
解説
この関数は、ユーザーがコントロールの作成プロセスをオーバーライドしている場合にのみ呼び出す必要があります。
IPersist*::Load
メソッドとIPersist*::InitNew
メソッドは、迅速なアクティブ化が発生した後に呼び出す必要があります。 コントロールは、クイック アクティブ化中にコンテナーのシンクへの接続を確立する必要があります。 ただし、 IPersist*::Load
または IPersist*::InitNew
が呼び出されるまで、これらの接続はライブになりません。
COleControlSite::SafeSetProperty
dwDispID で指定されたコントロール プロパティを設定します。
virtual BOOL AFX_CDECL SafeSetProperty(
DISPID dwDispID,
VARTYPE vtProp, ...);
パラメーター
dwDispID
設定するコントロールの IDispatch
インターフェイスで見つかったプロパティまたはメソッドのディスパッチ ID を識別します。
vtProp
設定するプロパティの種類を指定します。 使用できる値については、 COleDispatchDriver::InvokeHelperの「解説」をご覧ください。
...
vtProp で指定された型の 1 つのパラメーター。
戻り値
成功した場合は 0 以外を返します。それ以外の場合は 0 を返します。
解説
Note
SetProperty
やSetPropertyV
とは異なり、エラーが発生した場合 (存在しないプロパティの設定など)、例外はスローされません。
COleControlSite::SetDefaultButton
コントロールを既定のボタンとして設定します。
void SetDefaultButton(BOOL bDefault);
パラメーター
bDefault
コントロールを既定のボタンにする必要がある場合は 0 以外。それ以外の場合は 0。
解説
Note
コントロールには、OLEMISC_ACTSLIKEBUTTON状態ビットが設定されている必要があります。
COleControlSite::SetDlgCtrlID
コントロールのダイアログ項目識別子の値を変更します。
virtual int SetDlgCtrlID(int nID);
パラメーター
nID
新しい識別子の値。
戻り値
成功した場合は、ウィンドウの前のダイアログ 項目識別子。それ以外の場合は 0。
解説
COleControlSite::SetFocus
コントロールにフォーカスを設定します。
virtual CWnd* SetFocus();
virtual CWnd* SetFocus(LPMSG lpmsg);
パラメーター
lpmsg
MSG 構造体へのポインター。 この構造体には、現在のコントロール サイトに含まれるコントロールの SetFocus
要求をトリガーする Windows メッセージが含まれています。
戻り値
以前にフォーカスがあったウィンドウへのポインター。
COleControlSite::SetProperty
dwDispID で指定されたコントロール プロパティを設定します。
virtual void AFX_CDECL SetProperty(
DISPID dwDispID,
VARTYPE vtProp, ...);
パラメーター
dwDispID
設定するコントロールの IDispatch
インターフェイスで見つかったプロパティまたはメソッドのディスパッチ ID を識別します。
vtProp
設定するプロパティの種類を指定します。 使用できる値については、 COleDispatchDriver::InvokeHelperの「解説」をご覧ください。
...
vtProp で指定された型の 1 つのパラメーター。
解説
SetProperty
エラーが発生した場合は、例外がスローされます。
例外の種類は、プロパティまたはメソッドの設定試行の戻り値によって決まります。 戻り値が DISP_E_EXCEPTION
場合は、 COleDispatchExcpetion
がスローされます。それ以外の場合は COleException
。
COleControlSite::SetPropertyV
dwDispID で指定されたコントロール プロパティを設定します。
virtual void SetPropertyV(
DISPID dwDispID,
VARTYPE vtProp,
va_list argList);
パラメーター
dwDispID
設定するコントロールの IDispatch
インターフェイスで見つかったプロパティまたはメソッドのディスパッチ ID を識別します。
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 の「解説」セクションを参照してください。
戻り値
成功した場合は 0 以外、それ以外の場合は 0。
COleControlSite::SetWindowText
コントロール サイトのテキストを設定します。
virtual void SetWindowText(LPCTSTR lpszString);
パラメーター
lpszString
新しいタイトルまたはコントロール テキストとして使用される null で終わる文字列へのポインター。
解説
この関数は、最初に Caption ストック プロパティの設定を試みます。 Caption ストック プロパティがサポートされていない場合は、代わりに 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 以外。ウィンドウが以前非表示だった場合は 0。