Compartilhar via


CreateWindow

Windows Mobile SupportedWindows Embedded CE Supported

9/9/2008

Essa função cria um sobreposto, pop-up ou janela filho. Ele especifica a classe janela, janela título, janela estilo e, opcionalmente, a posição inicial e tamanho da janela. Essa função também especifica pai a janela.

Syntax

HWND CreateWindow( 
  LPCTSTR lpClassName, 
  LPCTSTR lpWindowName, 
  DWORD dwStyle, 
  int x, 
  int y, 
  int nWidth, 
  int nHeight, 
  HWND hWndParent, 
  HMENU hMenu, 
  HANDLE hInstance, 
  PVOID lpParam 
); 

Parameters

  • Boolean
    [no] Ponteiro longo em um átomo ou seqüência de caracteres NULL-Terminated. Se este parâmetro for um átomo, ele deverá ser um átomo global criado por um chamar anterior para o RegisterClass função. O átomo deve estar de baixo-Palavra de ordem Boolean; o alto-palavra ordem deve ser zero.

    Se Boolean é um seqüência de caracteres, ela especifica o nome classe janela. O nome classe pode ser qualquer nome registrado com o RegisterClass função ou de qualquer o controle predefinido-classe nomes. Para um lista completa, consulte a seção " Comentários ".

  • lpWindowName
    [no] Ponteiro longo para um seqüência de caracteres NULL-Terminated que especifica o nome janela.

    Se o estilo janela especifica um barra de título, o título janela apontado pelo lpWindowName é exibido na barra de título. Ao utilizar a CreateWindow Para criar controles, como botões, caixas verificar e os controles estáticos, use lpWindowName Para especificar o texto de controle.

  • dwStyle
    [no] Especifica o estilo da janela que está sendo criada. Este parâmetro pode ser uma combinação da seguinte janela estilos, além de estilos controle indicado na seção de comentários.

    Valor Descrição

    WS_BORDER

    Cria uma janela que possui uma borda thin-Line.

    WS_CAPTION

    Cria uma janela que tenha um barra de título (inclui o estilo WS_BORDER).

    Estilo

    Cria um janela filho. Esse estilo não pode ser usado com o estilo WS_POPUP.

    WS_CLIPCHILDREN

    Exclui a área ocupada por janelas filho ao desenho ocorre dentro de janela pai. Esse estilo é usado ao criar a janela pai.

    WS_CLIPSIBLINGS

    Clipes relativo janelas filho para each other; Isto é, quando um determinado janela filho recebe um WM_PAINT mensagem, o estilo WS_CLIPSIBLINGS clipes todas as outras janelas filho sobrepostos fora da região do janela filho ser atualizado. Se WS_CLIPSIBLINGS não for especificado e sobreposição janelas filho, é possível, ao desenho dentro a área cliente de uma janela filho, para desenhar dentro a área cliente de uma janela filho vizinhos.

    WS_DISABLED

    Cria uma janela que inicialmente está desativada. Uma janela desativada não pode receber entrada a partir de usuário.

    WS_DLGFRAME

    Cria uma janela que possui uma borda de um estilo geralmente usado com caixas diálogo. Uma janela com esse estilo não pode ter um barra de título.

    WS_GROUP

    Especifica o primeiro controle de um GRUPO de controles. O GRUPO consiste esse controle primeiro e todos os controles definidos depois dela, up to o próximo controle com o estilo WS_GROUP. O primeiro controle em cada GRUPO normalmente tem o estilo WS_TABSTOP para que o usuário pode mover de GRUPO para GRUPO. O usuário pode subseqüentemente alteração a foco do teclado de um controle no GRUPO para o próximo controle na GRUPO usando teclas de direção.

    WS_HSCROLL

    Cria uma janela que tenha um barra de rolagem horizontal.

    WS_OVERLAPPED

    Cria uma janela sobreposta. Uma janela sobreposta tem um barra de título e uma borda.

    WS_OVERLAPPEDWINDOW

    Cria uma janela sobreposta com os estilos WS_OVERLAPPED, WS_CAPTION, WS_SYSMENU, WS_THICKFRAME, WS_MINIMIZEBOX e WS_MAXIMIZEBOX.

    Observação

    Embora não seja WS_OVERLAPPEDWINDOW com suporte em Windows Embedded CE, a funcionalidade ainda pode ser obtida por adquirir um bit a bit OR dos sinalizadores estilo WS_OVERLAPPED, WS_CAPTION, WS_SYSMENU, WS_THICKFRAME, WS_MINIMIZEBOX e WS_MAXIMIZEBOX.

    WS_POPUP

    Cria um janela pop-up. Esse estilo não pode ser usado com o estilo estilo.

    WS_SIZEBOX

    Cria uma janela que possui uma borda dimensionamento. Mesmo que o estilo WS_THICKFRAME.

    WS_SYSMENU

    Cria uma janela que tenha um Fechar (X) botão na non-client_area.

    WS_TABSTOP

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

    WS_THICKFRAME

    Cria uma janela que possui uma borda dimensionamento. Mesmo que o estilo WS_SIZEBOX.

    WS_VISIBLE

    Cria uma janela que está visível inicialmente.

    WS_VSCROLL

    Cria uma janela que tenha um barra de rolagem vertical.

  • x
    [no] Especifica o posição horizontal inicial da janela. Para um sobreposta ou janela pop-up, o x parâmetro é o x inicial-coordenar de upper-left corner a janela, em coordenadas Tela. Para um janela filho, x é o x-coordenar da upper-left corner de relativo a janela para o upper-left corner da área cliente da janela pai.

    Se este parâmetro for definido para CW_USEDEFAULT, o sistema seleciona a posição usar como padrão para upper-left corner a janela e ignora a y parâmetro. CW_USEDEFAULT é válido somente para Windows sobrepostos; Se for especificado para um pop-up ou janela filho, o x e y Os parâmetros são definidos como zero.

  • y
    [no] Especifica o posição vertical inicial da janela. Para um sobreposta ou janela pop-up, o y parâmetro é o y inicial-coordenar de upper-left corner a janela, em coordenadas Tela. Para um janela filho, y é a y inicial-coordenar da upper-left corner de relativo a janela filho para o upper-left corner da área cliente da janela pai. Para uma caixa lista, y é a y inicial-coordenar da upper-left corner de relativo área cliente do o caixa de listagem para o upper-left corner da área cliente da janela pai.

    Se uma janela sobreposta é criada com o conjunto bit de estilo WS_VISIBLE e o x parâmetro for definido para CW_USEDEFAULT, o sistema ignora a y parâmetro.

  • nWidth
    [no] Especifica a largura, em unidades dispositivo, da janela. Para janelas sobrepostas, nWidth é largura da janela, em coordenadas Tela ou CW_USEDEFAULT. Se nWidth é CW_USEDEFAULT, o sistema seleciona uma usar como padrão largura e altura para a janela; a largura usar como padrão estende-se do x inicial-coordenar para o direito borda da Tela e a altura usar como padrão estende-se de y inicial-coordenar para o parte superior da área de ícone. CW_USEDEFAULT é válido somente para Windows sobrepostos; Se CW_USEDEFAULT for especificada para um pop-up ou janela filho, nWidth e nHeight são definidas como zero.
  • nHeight
    [no] Especifica a altura, em unidades dispositivo, da janela. Para janelas sobrepostas, nHeight é altura a janela, em coordenadas Tela. Se nWidth está definido para CW_USEDEFAULT, o sistema ignora nHeight.
  • hWndParent
    [no] Identificador para o pai ou janela proprietária da janela que está sendo criada. Para criar um janela filho ou uma janela de proprietário, fornecer uma válido identificador janela. Este parâmetro é opcional para pop-up windows.
  • hMenu
    [no] Identificador para um menu, ou especifica um filho-identificador janela depending on o estilo janela. Para um sobreposta ou janela pop-up, hMenu Identifica o menu a ser usado com a janela; Ela pode ser NULL se o menu classe for ser usado. Para um janela filho, hMenu Especifica o filho-identificador janela, um valor inteiro usado por um controle caixa de diálogo para notificar seu pai sobre eventos. O aplicativo determina o filho-identificador janela; Ele deve ser exclusivo para todas as janelas filho com o mesmo janela pai.
  • hInstance
    [no] Identificador para a instância do módulo a ser associado com a janela.
  • lpParam
    [no] Ponteiro longo para um valor a serem passados para a janela através de CREATESTRUCT estrutura passado a lParam parâmetro de WM_CREATE mensagem.

Return Value

Um identificador para a nova janela indica sucesso. NULL Indica falha. Para informações de erro estendidas get, chamar GetLastError.

Exemplo de código

Aqui, falha criar uma janela inicia DEBUGMSG:

    g_hwndMain =  CreateWindow  (
        TEXT ("AnxJTest Class"),
        lpstrWndTitle,
        WS_VISIBLE,
        0, 0, SCREEN_WIDTH, SCREEN_HEIGHT,
        NULL, NULL, g_hInstance, NULL);
    if (!g_hwndMain) {
        DEBUGMSG(ZONE_VERBOSE | ZONE_ERROR, 
(TEXT ("Could not create main window.")));
        return FALSE;
}

Remarks

O CreateWindow função não suporte a mensagem WM_PARENTNOTIFY.

CreateWindow é implementado como uma macro. Ele está definido como CreateWindowEx, mas com o dwExStyle parâmetro definido como 0L.

Barras de menus não são com suporte. O hMenu parâmetro deve ser NULL, a menos que ele seja usado como um filho-identificador janela.

A classe janela MDICLIENT não é com suporte.

O dwStyle parâmetro pode ser uma combinação dos estilos de janela e estilos controle documentadas em Janela e estilos de caixa de mensagem e Estilos de controle.

O seguinte dwStyle Os sinalizadores não são com suporte para Windows Embedded CE:

WS_CHILDWINDOW

WS_ICONIC

WS_POPUPWINDOW

 

O seguinte dwStyle Os sinalizadores não são com suporte para controles e caixas diálogo:

Estilos botão sem suporte

Estilos controle estática sem suporte

BS_LEFTTEXT

SS_BLACKFRAME

BS_TEXT

SS_BLACKRECT

BS_USERBUTTON

SS_GRAYFRAME

Não há suporte para de combinação caixa Estilos

SS_GRAYRECT

CBS_OWNERDRAWFIXED

SS_METAPICT

CBS_OWNERDRAWVARIABLE

SS_REALSIZEIMAGE

CBS_SIMPLE

SS_RIGHTIMAGE

Não há suporte para lista caixa controle estilos

SS_RIGHTJUST

LBS_NODATA

SS_SIMPLE

LBS_STANDARD

SS_SUNKEN

Não há suporte para barra de rolagem estilos

SS_WHITEFRAME

SBS_BOTTOMALIGN

SS_WHITERECT

SBS_RIGHTALIGN

Estilos caixa diálogo sem suporte

SBS_SIZEBOXBOTTOMRIGHTALIGN

DS_ABSALIGN

SBS_SIZEGRIP

DS_CENTERMOUSE

 

DS_CONTEXTHELP

 

DS_FIXEDSYS

 

DS_NOFAILCREATE

 

DS_NOIDLEMSG

 

DS_SYSMODAL

Você pode usar o estilo BS_OWNERDRAW como uma substituir para o estilo BS_USERBUTTON.

Combinar o estilo BS_MULTILINE com o estilo BS_PUSHBUTTON para quebra automática texto em um botão.

Você pode usar o estilo SS_LEFT ou SS_LEFTNOWORDWRAP instead of o estilo SS_SIMPLE para controles estáticos.

Todas as janelas implicitamente têm os estilos WS_CLIPSIBLINGS e WS_CLIPCHILDREN.

Windows CE 1.0 não suporte pertencentes janelas, Except for diálogo caixas. Se a pasta hwndParent parâmetro não for NULL, a janela implicitamente é fornecida o estilo estilo.

Windows CE 1.0 faz não barras menu suporte.

Windows CE 2.10 e posterior, se nWidth e nHeight são definidas para CW_USEDEFAULT, o janela filho possui dimensões de 0 x 0.

Antes de retornar, CreateWindow Envia um WM_CREATE mensagem para o procedimento janela. Para sobreposto, pop-up e janelas filho, CreateWindow Envia mensagens WM_CREATE para a janela. O lParam parâmetro da mensagem WM_CREATE contém um ponteiro para um CREATESTRUCT estrutura. Se o estilo WS_VISIBLE for especificado, CreateWindow Envia a janela todas as mensagens exigido para ativar e apresentação de janela.

O seguinte predefinidos controle classes podem ser especificadas na Boolean parâmetro. Observe o correspondente estilos controle você pode usar na dwStyle parâmetro.

  • BUTTON
    Designa um pequeno janela filho retangular que representa um botão o usuário pode clique para ativá-la ou desativado. Controles de botão podem ser usados isoladamente ou em grupos, e eles podem ser rotulado ou aparecer sem texto. Botão controla aparência alteração geralmente quando o usuário clica-los. Para obter mais informações sobre os botões e os estilos você pode especificar in a dwStyle parâmetro, consulte Estilos de controle.
  • ComboBox
    Designa um controle que consiste em uma caixa lista e um campo seleção semelhante a um controle editar. Ao usar esse estilo, um aplicativo deve ambos exibir o caixa de listagem em todas as vezes ou habilitar uma caixa drop-down list. Se a caixa lista estiver visível, digitar caracteres para o campo seleção realçará a primeira entrada caixa lista que coincida com os caracteres digitados. Inversamente, selecionando um item na caixa de lista exibe o texto selecionado no campo de seleção. Para obter mais informações, consulte caixas de combinação. Para uma tabela dos estilos de caixa de combinação é possível especificar in a dwStyle parâmetro, consulte Combo Box Styles.
  • Editar
    Designa um janela filho retangular na qual o usuário pode texto tipo de teclado. O usuário seleciona o controle e concede a ele o foco do teclado clicando nele ou movendo a ele, pressionando a TAB chave. O usuário pode texto tipo quando o controle editar exibe um acento circunflexo piscando; Use o mouse para mover o cursor, selecionados caracteres a ser substituído, ou posição de cursor para inserir caracteres; Ou use a chave BACKSPACE para excluir caracteres. Para obter mais informações sobre como editar controles e os estilos você pode especificar in a dwStyle parâmetro, consulte Estilos de controle.
  • ListBox
    Designa uma lista de seqüências de caracteres caractere. Especifique esse controle sempre que um aplicativo deve apresentar uma lista de nomes, such as nomes de arquivos, da qual o usuário pode escolher. O usuário pode selecionar um seqüência de caracteres clicando-lo. Um seqüência de caracteres selecionado é realçado e uma notificação mensagem é passada para o janela pai. Para obter mais informações sobre caixas lista e os estilos você pode especificar in a dwStyle parâmetro, consulte Estilos de controle.
  • MDICLIENT
    Designa um janela cliente MDI. Esta janela recebe as mensagens janelas filho. De que controle a aplicativo MDI Os bits recomendados estilo são WS_CLIPCHILDREN e estilo. Especifica os estilos WS_HSCROLL e WS_VSCROLL para criar um janela cliente MDI que permite que o usuário rolar Windows filho MDI em exibição.
  • RICHEDIT
    Designa um controle Rich Edit 1.0. Esta janela permite que o usuário exibição e editar texto com caractere e parágrafo formatação e pode incluir incorporado objetos COM.
  • RICHEDIT_CLASS
    Designa um controle Rich Edit 2,0. Este controle permite que o usuário exibição e editar texto com caractere e parágrafo formatação e pode incluir incorporado objetos COM. Windows Mobile 6 Professional e Windows Mobile 6 Classic não suporte este classe controle.
  • SCROLLBAR
    Designa um retângulo que contém um caixa de rolagem e tem setas direção em ambas as extremidades. O barra de rolagem envia uma mensagem notificação para seus janela pai sempre que o usuário clica o controle. O janela pai é responsável por atualizar a posição do caixa de rolagem, se necessário. Para obter mais informações sobre barras de rolagem e os estilos você pode especificar in a dwStyle parâmetro, consulte Estilos de controle.
  • Static
    Designa um campo de texto simples, caixa ou retângulo usado para rotular, caixa ou separar outro controles. Os controles estáticos não tomar nenhuma entrada e não fornecem nenhuma saída. Para obter mais informações sobre controles estáticos e os estilos você pode especificar in a dwStyle parâmetro, consulte Control Styles.

    Observação

    Se você especificar 4.x Windows quando vincular seu aplicativo, seus Windows não podem ter botões legenda, a menos que também tenham menus janela.Isso não é um requisito se você especificar 3.x Windows quando vincular seu aplicativo.

Requirements

Header winuser.h
Windows Embedded CE Windows CE 1.0 and later
Windows Mobile Windows Mobile Version 5.0 and later

See Also

Reference

Windows Functions
CreateDialog
CREATESTRUCT
CreateWindowEx
DialogBox
DLGTEMPLATE
LB_GETTEXT
LB_SETCOLUMNWIDTH
MessageBox
RegisterClass
SetForegroundWindow
WM_COMMAND
WM_CREATE
WM_DELETEITEM
WM_DRAWITEM
WM_MEASUREITEM
WM_PAINT
WM_SETFONT
WM_SETREDRAW
Windows Functions