CWnd::CreateControl
使用這個成員函式會在 MFC 程式會以 CWnd 物件的 ActiveX 控制項。
BOOL CreateControl(
LPCTSTR pszClass,
LPCTSTR pszWindowName,
DWORD dwStyle,
const RECT& rect,
CWnd* pParentWnd,
UINT nID,
CFile* pPersist = NULL,
BOOL bStorage = FALSE,
BSTR bstrLicKey = NULL
);
BOOL CreateControl(
REFCLSID clsid,
LPCTSTR pszWindowName,
DWORD dwStyle,
const RECT& rect,
CWnd* pParentWnd,
UINT nID,
CFile* pPersist = NULL,
BOOL bStorage = FALSE,
BSTR bstrLicKey = NULL
);
BOOL CreateControl(
REFCLSID clsid,
LPCTSTR pszWindowName,
DWORD dwStyle,
const POINT* ppt,
const SIZE* psize,
CWnd* pParentWnd,
UINT nID,
CFile* pPersist = NULL,
BOOL bStorage = FALSE,
BSTR bstrLicKey = NULL
);
參數
pszClass
這個字串可以包含 OLE 「簡短名稱」(Programmatic ID,ProgID) 至類別,_._.也就是, 「CIRC3。Circ3Ctrl.1」。 這個名稱必須符合控制項註冊的名稱相同。 此外,字串可能包含 CLSID字串的表單,其中包含在括號中,_._.也就是, 「{0} 9DBAFCCF-592F-101B-85CE-00608 CEC297 B}」。 在任何情況下, CreateControl 字串轉換成對應的類別 ID。.pszWindowName
要在控制項中顯示之文字的指標。 設定控制項的標題文字或屬性的值 (如果有的話)。 如果沒有變更 NULL、控制項的標題、文字屬性。dwStyle
視窗樣式。 可用的樣式清單在註解中。ppt
out 包含控制項左上角的 點 結構或 CPoint 物件。pSize
含有控制項的大小 大小 結構或 CSize 物件的點。pParentWnd
指定控制項的父視窗。 不得為 NULL。nID
指定控制項的 ID.pPersist
含有控制項的 C 檔案 的指標持續性 (Persistent) 狀態。 預設值為,表示控制項 NULL初始化其本身,而不會還原其從所有持續性儲存體的狀態。 如果不是 NULL,它應該是指向 CFile-以資料流或儲存的格式,其中是包含控制項的持續性資料的衍生物件。 此資料儲存在用戶端上的啟動過程可能已儲存。 CFile 包含其他資料,不過,必須將其讀取/寫入指標設定為第一個位元組持續性資料在呼叫時會 CreateControl。bStorage
指示是否應該將 pPersist 的資料。IStorage 或 IStream 資料。 如果在 pPersist 的資料是儲存區, bStorage 應該是 是。 如果在 pPersist 資料為資料流, bStorage 應該是 否。 預設值為 否。bstrLicKey
選擇性授權金鑰資料。 這項資料來建立需要的執行階段授權識別碼的控制項只需要。 如果控制項支援授權,您必須為控制項建立提供授權識別碼成功。 預設值為 NULL。clsid
控制項的唯一的類別 ID。
傳回值
如果不是零,則成功,則為 0。
備註
CreateControl 是 CWnd::Create 函式的直接類比,建立 CWnd的視窗。 CreateControl 建立 ActiveX 控制項而不是泛型的視窗。
視窗 dwStyle 旗標的子集。 CreateControl支援:
WS_VISIBLE 建立一開始都是可見的視窗。 必要項,如果您要立即是可見的控制項,像一般的視窗。
WS_DISABLED 建立初始停用的視窗。 已停用的視窗不能接收使用者的輸入。 如果控制項有啟用屬性,可將設定為。
WS_BORDER 建立具有儲存線條框線的視窗。 如果控制項有 BorderStyle 屬性,可將設定為。
WS_GROUP 指定控制項群組的第一個控制項。 您可以使用方向鍵,在使用者群組方式從一個控制項將鍵盤焦點變更到下一個。 所有控制項定義為 WS_GROUP 樣式在第一個控制項之後屬於相同群組。 使用 WS_GROUP 樣式的下一個控制項的結束群組並開始下一個群組。
WS_TABSTOP 指定可接收鍵盤焦點的控制項,當使用者按下 TAB 鍵。 按下 TAB 鍵會將鍵盤焦點變更到 WS_TABSTOP 樣式的下一個控制項。
範例
class CGenocx : public CWnd
{
protected:
DECLARE_DYNCREATE(CGenocx)
public:
CLSID const& GetClsid()
{
static CLSID const clsid
= { 0x20DD1B9E, 0x87C4, 0x11D1, { 0x8B, 0xE3, 0x0, 0x0, 0xF8, 0x75, 0x4D, 0xA1 } };
return clsid;
}
// This code is generated by the Control Wizard.
// It wraps the call to CreateControl in the call to Create.
virtual BOOL Create(LPCTSTR lpszClassName, LPCTSTR lpszWindowName, DWORD dwStyle,
const RECT& rect, CWnd* pParentWnd, UINT nID,
CCreateContext* pContext = NULL)
{
UNREFERENCED_PARAMETER(pContext);
UNREFERENCED_PARAMETER(lpszClassName);
return CreateControl(GetClsid(), lpszWindowName, dwStyle, rect, pParentWnd, nID);
}
// remainder of class declaration omitted...
需求
Header: afxwin.h