O CreateWindow função cria uma sobreposto, pop-up ou janela filho. Especifica a classe de janela, título da janela, janela estilo e (opcionalmente) a posição inicial e tamanho da janela. A função também especifica pai a janela ou proprietário, se houver e o menu da janela.
Para usar estilos estendidos além de estilos com suporte pelo CreateWindow, use o CreateWindowEx função em vez de usar CreateWindow.
(HWND CreateWindow LPCTSTR Boolean, / / ponteiro para registados o nome de classeLPCTSTRlpWindowName, / / ponteiro para nome da janelaDWORDdwStyle, / / estilo de janelaint x, / / horizontal posição da janela int y, / / vertical posição da janela intnWidth, / / largura da janela intnHeight, / / altura da janelaHWNDhWndParent, / / identificador para janela pai ou proprietárioHMENUhMenu, / / identificador para o identificador menu ou janela filhoLidar comhInstance, / / identificador de instância de aplicativoLPVOIDlpParam / / ponteiro para dados de criação de janela);
Se Boolean é uma seqüência de caracteres, ele especifica o nome de classe de janela. O nome de classe pode ser qualquer nome registrado com a função de RegisterClassEx ou qualquer um dos nomes predefinidos de classe de Controlarar. Para obter uma lista completa, consulte a seção Comentários.
Se o estilo janela Especifica uma barra de título, o título janela apontado pelo lpWindowName é exibido na barra de título. Ao usar CreateWindow para criar controles, como botões, caixas de seleção e controles estáticos, use lpWindowName para especificar o texto do controle.
Estilo | Significado |
---|---|
WS_BORDER | Cria uma janela que tenha uma borda de linha fina. |
WS_CAPTION | Cria uma janela que tenha uma 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_CHILDWINDOW | Mesmo que o estilo de estilo. |
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 filho windows entre si; ou seja, 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, desenhar dentro a área cliente de uma janela filho vizinhos. |
WS_DISABLED | Cria uma janela que inicialmente está desativada. Uma janela desabilitada não pode receber entrada do usuário. |
WS_DLGFRAME | Cria uma janela que tenha uma borda de um estilo tipicamente usado com caixas de diálogo. Uma janela com este estilo não pode ter uma 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 geralmente tem o estilo WS_TABSTOP para que o usuário pode mover de grupo para grupo. O usuário pode posteriormente Alterar o foco do teclado de um controle no grupo para o próximo controle no grupo usando as teclas de direção. |
WS_HSCROLL | Cria uma janela que tenha uma barra de rolagem horizontal. |
WS_ICONIC | Cria uma janela que inicialmente está minimizada. Mesmo que o estilo WS_MINIMIZE. |
WS_MAXIMIZE | Cria uma janela que inicialmente está maximizada. |
WS_MAXIMIZEBOX | Cria uma janela que tenha um botão maximizar. Não pode ser combinado com o estilo WS_EX_CONTEXTHELP. O estilo WS_SYSMENU também deve ser especificado. |
WS_MINIMIZE | Cria uma janela que inicialmente está minimizada. Mesmo que o estilo WS_ICONIC. |
WS_MINIMIZEBOX | Cria uma janela que tenha um botão de minimizar. Não pode ser combinado com o estilo WS_EX_CONTEXTHELP. O estilo WS_SYSMENU também deve ser especificado. |
WS_OVERLAPPED | Cria uma janela sobreposta. Uma janela sobreposta tem uma barra de título e uma borda. Mesmo que o estilo WS_TILED. |
WS_OVERLAPPEDWINDOW | Cria uma janela sobreposta com os estilos WS_OVERLAPPED, WS_CAPTION, WS_SYSMENU, WS_THICKFRAME, WS_MINIMIZEBOX e WS_MAXIMIZEBOX. Mesmo que o estilo WS_TILEDWINDOW. |
WS_POPUP | Cria uma janela pop-up. Esse estilo não pode ser usado com o estilo estilo. |
WS_POPUPWINDOW | Cria uma janela pop-up com estilos WS_BORDER, WS_POPUP e WS_SYSMENU. Os estilos WS_CAPTION e WS_POPUPWINDOW devem ser combinados para tornar o menu janela visível. |
WS_SIZEBOX | Cria uma janela que tenha uma borda de dimensionamento. Mesmo que o estilo WS_THICKFRAME. |
WS_SYSMENU | Cria uma janela que tem um menu janela no seu barra de título. Também deve ser especificado o estilo WS_CAPTION. |
WS_TABSTOP | Especifica um Controlarar que pode receber o foco do teclado quando o usuário pressiona a tecla tab. Pressionando a tecla tab altera o foco do teclado para o Avançar Controlarar com o estilo WS_TABSTOP. |
WS_THICKFRAME | Cria uma janela que tenha uma borda de dimensionamento. Mesmo que o estilo WS_SIZEBOX. |
WS_TILED | Cria uma janela sobreposta. Uma janela sobreposta tem uma barra de título e uma borda. Mesmo que o estilo WS_OVERLAPPED. |
WS_TILEDWINDOW | Cria uma janela sobreposta com os estilos WS_OVERLAPPED, WS_CAPTION, WS_SYSMENU, WS_THICKFRAME, WS_MINIMIZEBOX e WS_MAXIMIZEBOX. Mesmo que o estilo WS_OVERLAPPEDWINDOW. |
WS_VISIBLE | Cria uma janela que é inicialmente visível. |
WS_VSCROLL | Cria uma janela que tenha uma barra de rolagem vertical. |
Se este parâmetro for definido para CW_USEDEFAULT, o sistema seleciona a posição padrão para o canto superior esquerdo da janela e ignora a y parâmetro. CW_USEDEFAULT é válido somente para janelas sobrepostas; se for especificada para uma janela pop-up ou filho janela, o x e y parâmetros são definidos como zero.
Se uma janela sobreposta é criada com o estilo WS_VISIBLE bit definido e o x parâmetro for definido para CW_USEDEFAULT, o sistema ignora a y parâmetro.
Windows NT 5.0 e posterior: Para criar uma janela apenas para mensagens, fornecer HWND_MESSAGE ou um identificador para uma janela somente de mensagens existente.
Se a função for bem-sucedido, o valor de retorno é um identificador para a janela nova.
Se a função falhar, o valor de retorno é NULL. Para informações de erro estendidas get, chamar GetLastError.
Antes de retornar, CreateWindow envia uma WM_CREATE mensagem para o procedimento janela. Para sobreposto, pop-up e janelas filho, CreateWindow envia o WM_NCCREATE , WM_CREATEe WM_GETMINMAXINFOmensagens 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 Tudo as mensagens necessárias para ativar e mostrar a janela.
Para obter informações sobre como controlar se o barra de tarefas exibe um botão para a janela criada, consulte Visibilidade dos botões da barra de tarefas.
As seguintes classes de controle predefinidos podem ser especificadas in a Boolean parâmetro. Observação que o controle correspondente estilos você pode usar na dwStyle parâmetro.
Classe | Significado |
---|---|
BOTÃO | Designa uma janela filho retangular pequeno que representa um botão que o usuário pode clique para ativar ou desativar a ele. Controles de botão podem ser usados isoladamente ou em grupos, e que qualquer um podem ser rotulados ou aparecem sem texto. Controles de botão normalmente Alterar aparência quando o usuário clica-los. Para obter mais informações, consulte botões. |
Para uma tabela de estilos de botão, que você pode especificar in a dwStyle parâmetro, consulte Estilos de botão. | |
CAIXA DE COMBINAÇÃO | Designa um controle consiste em uma caixa de listagem e um campo de seleção semelhante a um Controlarar de editar. Ao usar esse estilo, um aplicativo deve exibir a caixa de lista em todas as vezes ou habilitar uma caixa de listagem de soltar-para baixo. Se a caixa de lista estiver visível, digitar caracteres para o campo de seleção destaca a primeira entrada de caixa de lista que corresponde aos 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 de estilos de caixa de combinação, que você pode especificar in a dwStyle parâmetro, consulte Estilos de caixa de combinação. | |
EDITAR | Designa um janela filho retangular na qual o usuário pode digitar texto no teclado. O usuário seleciona o controle e dá-lhe o foco de teclado clicando nele ou movendo-lo pressionando a tecla tab. O usuário pode texto tipo quando o controle editar exibe um cursor piscando; Use o mouse para mover o cursor, selecionados caracteres a ser substituído, ou posicione o cursor para inserir caracteres; ou use a tecla backspace para excluir caracteres. Para obter mais informações, consulte Editar controles. |
Para uma tabela de estilos de Controlarar de editar, que você pode especificar in a dwStyle parâmetro, consulte Estilos de Controlarar de editar. | |
CAIXA DE LISTAGEM | Designa uma lista de seqüências de caracteres. Especifique esse controle sempre que um aplicativo deve apresentar uma lista de nomes, tais como nomes de arquivo, do qual o usuário pode escolher. O usuário pode selecionar uma Cadeia de caracteres clicando nele. Uma Cadeia de caracteres selecionada é realçada e uma mensagem de notificação é passada para o janela pai. Para obter mais informações, consulte Caixas de listagem. |
Para uma tabela de estilos de caixa de lista, que você pode especificar in a dwStyle parâmetro, consulte Estilos de caixa de lista. | |
MDICLIENT | Designa um janela cliente MDI. Esta janela recebe mensagens que controlam janelas de filho do 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 ao usuário rolar em Exibir de janelas filho MDI. Para obter mais informações, consulte Interface de documentos múltiplos. |
RichEdit | Designa um controle de versão 1.0 do Rich Editar. Esta janela permite que o modo de exibição do usuário e editar texto com caractere e parágrafo formatação e pode incluir incorporados objetos. Para obter mais informações, consulte Controles de Rich Editar. |
Para uma tabela dos estilos de Controlarar rich Editar, que você pode especificar in a dwStyle parâmetro, consulte Estilos de Controlarar de Editar Rich. | |
RICHEDIT_CLASS | Designa um controle de versão 2.0 Rich Edit. Esta controla deixe o modo de exibição do usuário e editar texto com caractere e parágrafo formatação e pode incluir incorporados objetos. Para obter mais informações, consulte Controles de Rich Editar. |
Para uma tabela dos estilos de Controlarar rich Editar, que você pode especificar in a dwStyle parâmetro, consulte Estilos de Controlarar de Editar Rich. | |
BARRA DE ROLAGEM | Designa um retângulo que contém uma caixa de rolagem e tem setas direção em ambas as extremidades. A barra de rolagem envia uma mensagem de notificação para sua janela pai quando o usuário clica no Controlarar. O janela pai é responsável por atualizar a posição do caixa de rolagem, se necessário. Para obter mais informações, consulte As barras de rolagem. |
Para uma tabela de estilos de Controlarar de barra de rolagem que você pode especificar in a dwStyle parâmetro, consulte Estilos de Controlarar barra de rolagem. | |
ESTÁTICO | Designa um campo de texto simples, caixa ou retângulo usado para rótulo, caixa ou separar outros controles. Controles estáticos não tomar nenhuma entrada e não fornecem nenhuma saída. Para obter mais informações, consulte Controles estáticos. |
Para uma tabela dos estilos de Controlarar estático, que você pode especificar in a dwStyle parâmetro, consulte Estilos de Controlarar estático. |
Windows 95:O sistema pode oferecer suporte a um máximo de 16.364 identificadores de janela.
&Notanbsp; Se você especificar 4. x versão de Windows quando vincular seu aplicativo, seus windows não podem ter botões de legenda, a menos que também tenham menus janela. Isso não é um requisito se você especificar 3. x versão de Windows quando vincular seu aplicativo.
Windows CE: CreateWindow é implementado como uma macro. Ele é definido como CreateWindowEx, mas com o dwExStyle parâmetro definido como 0L.
Não há suporte para barras de menus. O hMenu parâmetro deve ser NULL, a menos que ele é usado como um identificador de janela filho.
A classe de janela MDICLIENT não é suportada.
O dwStyle parâmetro pode ser uma combinação dos estilos de janela e estilos de controle documentaram em:
Caixas de diálogo
Windows
Controles
Os seguinte dwStyle os sinalizadores não são com suporte para windows:
WS_CHILDWINDOW | WS_ICONIC |
WS_MAXIMIZE | WS_MAXIMIZEBOX |
WS_MINIMIZE | WS_MINIMIZEBOX |
WS_OVERLAPPEDWINDOW | WS_POPUPWINDOW |
WS_SIZEBOX | WS_THICKFRAME |
WS_TILED | WS_TILEDWINDOW |
Os seguinte dwStyle os sinalizadores não são suportados para controles e caixas de diálogo:
Estilos de botão sem suporte | Estilos controle estática sem suporte |
BS_LEFTTEXT | SS_BLACKFRAME |
BS_MULTILINE | SS_GRAYFRAME |
BS_TEXT | SS_METAPICT |
BS_USERBUTTON | SS_SIMPLE |
Estilos de caixa de combinação sem suporte | SS_WHITERECT |
CBS_OWNERDRAWFIXED | SS_BLACKRECT |
CBS_OWNERDRAWVARIABLE | SS_GRAYRECT |
CBS_SIMPLE | SS_RIGHTIMAGE |
Estilos de Controlarar de caixa de lista não suportados | SS_WHITEFRAME |
LBS_NODATA | Estilos de caixa de diálogo sem suporte |
LBS_OWNERDRAWFIXED | DS_ABSALIGN |
LBS_OWNERDRAWVARIABLE | DS_CENTERMOUSE |
LBS_STANDARD | DS_CONTEXTHELP |
Estilos de barra de rolagem não suportado | DS_FIXEDSYS |
SBS_BOTTOMALIGN | DS_NOFAILCREATE |
SBS_RIGHTALIGN | DS_NOIDLEMSG |
SBS_SIZEBOXBOTTOMRIGHTALIGN | DS_SYSMODAL |
SBS_SIZEGRIPMESMO |
Você pode usar o estilo BS_OWNERDRAW como um substituto para o estilo BS_USERBUTTON.
Você pode usar o estilo SS_LEFT ou SS_LEFTNOWORDWRAP instead of o estilo SS_SIMPLE para controles estáticos..
A classe de janela MDICLIENT não é suportada.
Todas as janelas implicitamente têm os estilos WS_CLIPSIBLINGS e WS_CLIPCHILDREN.
Windows CE 1.0 não suporta janelas de propriedade, exceto para as caixas de diálogo. Se o hwndParent parâmetro não é NULL, a janela implicitamente é dado o estilo estilo.
Windows CE versão 1.0 não oferece suporte a barras de menus.
nbsp; Windows &NT: requer a versão 3.1 ou posterior.
Windows:Requer o Windows 95 ou posterior.
Windows CE:Requer versão 1.0 ou posterior.
Cabeçalho:Declarado em WinUser. h.
Biblioteca de importação:Use user32.lib.
Unicode:Implementado como versões Unicode e ANSI no Windows NT.
Visão geral sobre Windows, janela funções, CLIENTCREATESTRUCT, CREATESTRUCT, CreateWindowEx, GlobalAddAtom, RegisterClassEx, WM_COMMAND, WM_CREATE, WM_GETMINMAXINFO, WM_NCCREATE, WM_PAINT