CWnd::CreateControl
이 멤버 함수를 사용 하 여 MFC 프로그램에서 표시 되는 ActiveX 컨트롤을 만들 수 있는 CWnd 개체입니다.
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 포함 될 수 있습니다 (ProgID) 클래스 e.g., "CIRC3.Circ3Ctrl.1 ".이름 같은 컨트롤에 의해 등록 된 이름과 일치 해야 합니다.문자열 형태의 문자열 또는 있습니다는 CLSID, 중괄호에 포함 된 전자.g., "{9DBAFCCF-592F-101B-85CE-00608CEC297B}"입니다.두 경우 모두에서 CreateControl 해당 클래스 ID를 문자열 변환pszWindowName
컨트롤에 표시 되는 텍스트에 대 한 포인터입니다.컨트롤의 텍스트 또는 캡션 속성 값 (있는 경우)을 설정 합니다.경우 NULL, 컨트롤의 텍스트 또는 캡션 속성을 변경 되지 않습니다.dwStyle
창 스타일입니다.사용 가능한 스타일 아래 설명에 나와 있습니다.ppt
가리키는 있는 지점 구조 또는 CPoint 컨트롤의 왼쪽된 위 모서리를 포함 하는 개체입니다.pSize
가리키는 있는 크기 구조 또는 CSize 컨트롤의 크기를 포함 하는 개체pParentWnd
컨트롤의 부모 창으로 지정합니다.다시 해야 NULL.nID
컨트롤의 ID를 지정합니다.pPersist
에 대 한 포인터는 CFile 컨트롤에 대 한 영구 상태를 포함 하.기본값은 NULL를 나타내는 컨트롤에 자체는 영구 저장소에서 해당 상태를 복원 하지 않고 초기화 합니다.그렇지 않으면 NULL, 것에 대 한 포인터는 CFile-파생 컨트롤의 영구 데이터 저장소 또는 스트림을 형태로 포함 하는 개체.이 데이터 클라이언트에는 이전 정품 인증을 사용 하 여 저장 수 있습니다.CFile 기타 데이터를 포함할 수 있지만 읽기 / 쓰기 포인터 호출 시 영구 데이터의 첫 번째 바이트에 설정 되어 있어야 CreateControl.bStorage
나타냅니다 여부는 데이터에 pPersist IStorage 또는 IStream 데이터로 해석 해야 합니다.경우 데이터에서 pPersist 에 저장 된 bStorage 해야 TRUE.경우 데이터에서 pPersist 되는 스트림 bStorage 해야 FALSE.기본값은 거짓.bstrLicKey
선택적 라이센스 키 데이터입니다.이 데이터는 런타임 라이센스 키를 필요로 하는 컨트롤을 만드는 데에 필요 합니다.컨트롤 라이센스를 지 원하는 경우 컨트롤이 성공적으로 만들기 위해 라이센스 키를 제공 해야 합니다.기본값은 NULL.clsid
컨트롤의 고유 클래스 ID입니다.
반환 값
성공 하면 0이 아닌. 그렇지 않으면 0입니다.
설명
CreateControl한 직접 아날로그 되는 CWnd::Create 창에 생성 하는 함수는 CWnd.CreateControl보통의 창 대신에 ActiveX 컨트롤을 만듭니다.
일부 Windows dwStyle 플래그에 대 한 지원 CreateControl.
WS_VISIBLE 처음에 표시 되는 창이 만들어집니다.일반적인 다른 창과 마찬가지로 즉시 표시 되도록 컨트롤을 사용할 경우 필요 합니다.
WS_DISABLED 처음에 비활성화 된 창을 만듭니다.비활성된 창에서 사용자 입력을 받을 수 없습니다.컨트롤에 사용 속성이 있는 경우 설정할 수 있습니다.
WS_BORDER창 얇은 선 테두리를 만듭니다.경우 컨트롤 BorderStyle 속성을 설정할 수 있습니다.
WS_GROUP 컨트롤 그룹의 첫 번째 컨트롤을 지정 합니다.사용자가 키보드 포커스 그룹에서 한 컨트롤에서 다음 방향 키를 사용 하 여 변경할 수 있습니다.정의 된 모든 컨트롤은 WS_GROUP 같은 그룹에 속하는 첫 번째 컨트롤 후 스타일.다음 컨트롤에는 WS_GROUP 스타일의 그룹을 종료 하 고 다음 그룹을 시작 합니다.
WS_TABSTOP 탭 키를 누를 때 키보드 포커스를 받을 수 있는 컨트롤을 지정 합니다.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...
요구 사항
헤더: afxwin.h