다음을 통해 공유


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
    창 스타일입니다. 사용 가능한 스타일 아래 설명에 나와 있습니다.

  • rect
    컨트롤의 크기와 위치를 지정합니다. 적일 수 있는 CRect 개체 또는 RECT 구조.

  • 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

참고 항목

참조

CWnd 클래스

계층 구조 차트

개념

MFC ActiveX 컨트롤