Поделиться через


CWnd::CreateControl

Используйте этот функции-члена для создания элемента управления ActiveX, которое будет представлено в программе MFC объектом 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) для класса, например.., "CIRC3.Circ3Ctrl.1". Имя должно соответствовать один и тот же имени зарегистрированному элементом управления. Кроме того, строка может содержать форме строки CLSID, содержащаяся в фигурных скобках (например.., "{9DBAFCCF-592F-101B-85CE-00608CEC297B}". В любом случае, CreateControl выполнит преобразование строки с соответствующим идентификатору класса

  • pszWindowName
    Указатель на текст, отображаемый в элементе управления. Присваивает значение свойства заголовка и текста элемента управления (если есть). Если не изменен свойство NULL, заголовка элемента управления или текста.

  • dwStyle
    Стили Windows. Доступные стили перечислены под примечаниями.

  • rect
    Определяет размер и положение элемента управления. Может быть либо объектом CRect или структурой RECT.

  • ppt
    Указывает на ТОЧКА составляющих или объекту CPoint, содержащий верхний левый угол элемента управления.

  • pSize
    Указывает на РАЗМЕР составляющих или объекту CSize, содержащих размер элемента управления

  • pParentWnd
    Задает родительское окно элемента управления. Это не должно быть NULL.

  • nID
    Определяет идентификатор элемента управления

  • pPersist
    Указатель на CFile, содержащее постоянное состояние элемента управления. Значение по умолчанию NULL, указывающее, что элемент управления инициализирует без восстановления состояния из постоянного хранилища. Если не NULL, оно должно указатель на CFile- производный объект, содержащий данные элемента управления в форме или постоянных, потока или модели хранения. Эти данные могут быть сохранены в предыдущей активации клиента. CFile может содержать другие данные, но должно иметь свой указатель чтени- записи устанавливаться к первому байту постоянных данных во время вызова метода CreateControl.

  • bStorage
    Указывает, должны ли данные в pPersist интерпретироваться как данные IStorage или IStream. Если данные в pPersist хранилище, то bStorage должно быть TRUE. Если данные в pPersist поток, bStorage должно быть FALSE. Значение по умолчанию FALSE.

  • bstrLicKey
    Необязательные данные ключа лицензии. Эти данные не требуются только создание элементов управления, требующих ключа во время выполнения лицензии. Если элемент управления поддерживает лицензирования необходимо ввести ключ лицензии для создания элемента управления успешно. Значение по умолчанию NULL.

  • clsid
    Уникальный идентификатор класса элемента управления.

Возвращаемое значение

Ненулевой, если успешно; в противном случае – значение 0.

Заметки

CreateControl непосредственно аналоговый функции CWnd::Create, которая создает окно, CWnd. CreateControl создает элемент управления ActiveX вместо обычного окна.

Только подмножество флагов Windows dwStyle поддерживается для CreateControl:

  • WS_VISIBLE Создает окно, которое изначально видимым. Обязательный, если требуется элемент управления видимы сразу, как обычные окна.

  • WS_DISABLED Создает окно, которое изначально отключен. Отключенное окно не может получать входные данные от пользователя. Может быть установлено, если элемент управления имеет свойство enabled.

  • 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

См. также

Ссылки

Класс CWnd

Диаграмма иерархии

Основные понятия

Элементы управления ActiveX MFC