COleControlSite::CreateControl

更新 : 2007 年 11 月

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
    コントロールに表示される文字列へのポインタ。ウィンドウの Caption プロパティや Text プロパティの値を設定します。

  • dwStyle
    ウィンドウ スタイルを指定します。指定できるスタイルについては、「解説」を参照してください。

  • 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 番目のオーバーロードを使用します。

必要条件

ヘッダー : afxocc.h

参照

参照

COleControlSite クラス

階層図

COleControlContainer::CreateControl

その他の技術情報

COleControlSite のメンバ