Partilhar via


CWnd::CreateControl

Use esta função de membro para criar um controle ActiveX que será representado no programa MFC por um CWnd objeto.

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
);

Parâmetros

  • pszClass
    Essa seqüência pode conter o "nome curto" de OLE (ProgID) para a classe, por exemplo, "CIRC3.Circ3Ctrl.1".O nome precisa coincidir com o mesmo nome registrado pelo controle.Como alternativa, a seqüência pode conter a forma de seqüência de caracteres de um CLSID, contidas em chaves, por exemplo, "{9DBAFCCF-592F-101B-85CE-00608CEC297B}".Em ambos os casos, CreateControl Converte a seqüência de caracteres para a ID de classe correspondente.

  • pszWindowName
    Um ponteiro para o texto a ser exibido no controle.Define o valor da propriedade legenda ou Texto do controle (se houver).If NULO, a propriedade legenda ou Texto do controle não é alterada.

  • dwStyle
    Estilos do Windows.Os estilos disponível estão listados em comentários.

  • rect
    Especifica o dimensionar e posição do controle.Pode ser qualquer um CRect objeto ou um RECT estrutura.

  • ppt
    Aponta para um PONTO a estrutura ou CPoint objeto que contém o canto superior esquerdo do controle.

  • pSize
    Aponta para um dimensionar a estrutura ou CSize objeto que contém o dimensionar do controle

  • pParentWnd
    Especifica a janela pai do controle.Não deve ser NULO.

  • nID
    Especifica a ID. do controle

  • pPersist
    Um ponteiro para um CFile contendo o estado persistente para o controle.O valor padrão é NULO, indicando que o controle inicializa por si próprio sem restaurar o estado de qualquer armazenamento persistente.Se não NULO, ele deve ser um ponteiro para um CFile-derivados do objeto que contém os dados do controle persistente, na forma de um fluxo ou um armazenamento. Esses dados podem ter sido salvo em uma ativação anterior do cliente.The CFile pode conter outros dados, mas deve ter seu ponteiro de leitura-gravar conjunto o primeiro byte de dados persistentes no momento da telefonar para CreateControl.

  • bStorage
    Indica se sistema autônomo dados em pPersist deve ser interpretado sistema autônomo dados IStorage ou IStream. Se os dados em pPersist é um armazenamento bStorage deve ser TRUE.Se os dados em pPersist é um fluxo bStorage deve ser FALSE.O valor padrão é FALSE.

  • bstrLicKey
    Dados chave de licença opcional.Esses dados é necessária somente para criar controles que exigem uma chave de licença de time de execução.Se o controle suporta o licenciamento, você deve fornecer uma chave de licença para a criação do controle seja bem-sucedida.O valor padrão é NULO.

  • clsid
    ID exclusiva de classe do controle.

Valor de retorno

Diferente de zero se bem-sucedida; caso contrário, 0.

Comentários

CreateControl é um analógico direto das CWnd::criar função, que cria a janela para um CWnd. CreateControl cria um controle ActiveX, em vez de uma janela normal.

Apenas um subconjunto do Windows dwStyle sinalizadores são suportados para CreateControl:

  • WS_VISIBLE   Cria uma janela que está visível inicialmente.Obrigatório se você desejar que o controle seja visível imediatamente, como janelas comuns.

  • WS_DISABLED   Cria uma janela inicialmente desabilitado.Uma janela desabilitado não pode receber entrada do usuário.Pode ser definida se o controle tem uma propriedade Enabled.

  • WS_BORDER   Cria uma janela com uma borda de linha fina. É possível conjunto se o controle tem uma propriedade BorderStyle.

  • WS_GROUP   Especifica o primeiro controle de um agrupar de controles.O usuário pode alterar o foco do teclado de um controle no agrupar para a próxima, use as teclas de direção.Todos os controles definidos com o WS_GROUP estilo após o primeiro controle pertencer ao agrupar do mesmo.O próximo controle com o WS_GROUP estilo termina o agrupar e começa o próximo agrupar.

  • WS_guiaSTOP   Especifica um controle que pode receber o foco do teclado quando o usuário pressiona o tecla guia.Pressionar a tecla guia altera o foco do teclado para o próximo controle do WS_TABSTOP estilo.

Exemplo

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...

Requisitos

Cabeçalho: afxwin.h

Consulte também

Conceitos

Controles do ActiveX MFC

Referência

Classe CWnd

Gráfico de hierarquia

Outros recursos

Membros CWnd