CreateWindowEx

O CreateWindowEx função cria uma sobreposto, pop-up ou janela filho com um estendido estilo; caso contrário, essa função é idêntica de CreateWindow função. Para obter mais informações sobre como criar uma janela e para obter descrições completas dos outros parâmetros da CreateWindowEx, consulte CreateWindow.

(HWND CreateWindowEx DWORD  dwExStyle, / / estilo de janela estendidoLPCTSTRBoolean, / / ponteiro para registados o nome de classeLPCTSTRlpWindowName, / / ponteiro para nome da janelaDWORDdwStyle, / / estilo de janela int 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 menu, ou filho-identificador janelaHINSTANCEhInstance, / / identificador de instância de aplicativoLPVOIDlpParam / / ponteiro para dados de criação de janela);
 

Parâmetros

dwExStyle
Especifica o estilo estendido da janela. Este parâmetro pode ser uma dos seguinte valores:
Estilo Significado
WS_EX_ACCEPTFILES Especifica que uma janela criada com este estilo aceita arrastar-soltar arquivos.
WS_EX_APPWINDOW Força uma janela de alto nível para a barra de tarefas quando a janela está visível.
WS_EX_CLIENTEDGE Especifica que uma janela tem uma borda com um baixo relevo borda.
WS_EX_CONTEXTHELP Inclui um ponto de interrogação na barra de título da janela. Quando o usuário clica o ponto de interrogação, o cursor muda para um ponto de interrogação com um ponteiro. Se o usuário clica em uma janela filho, o filho recebe uma mensagem WM_HELP. A janela de filho deve transmitir a mensagem para o procedimento de janela pai, que deve chamar a função de WinHelp usando o comando HELP_WM_HELP. O aplicativo de ajuda exibe uma janela pop-up que normalmente contém ajuda para a janela filho.

WS_EX_CONTEXTHELP não pode ser usado com os estilos WS_MAXIMIZEBOX ou WS_MINIMIZEBOX.

WS_EX_CONTROLPARENT Permite ao usuário navegar entre as janelas filho da janela usando a tecla tab.
WS_EX_DLGMODALFRAME Cria uma janela que tenha uma borda Duplo; a janela pode, opcionalmente, ser criada com uma barra de título, especificando o estilo WS_CAPTION in a dwStyle parâmetro.
WS_EX_LEFT Janela possui genérico Propriedades "alinhado à esquerda". Este é o padrão.
WS_EX_LEFTSCROLLBAR Se a linguagem shell for Hebraico, árabe ou outra linguagem que oferece suporte à leitura alinhamento ordem, a barra de rolagem vertical (se houver) está à esquerda da área cliente. Para outros idiomas, o estilo é ignorado e não tratado como um erro.
WS_EX_LTRREADING O texto janela é exibido usando esquerda para a direita propriedades de ordem de leitura. Este é o padrão.
WS_EX_MDICHILD Cria uma janela filho MDI.
WS_EX_NOPARENTNOTIFY Especifica que uma janela de filho criada com este estilo não envia a mensagem WM_PARENTNOTIFY para seu janela pai quando ele é criado ou destruído.
WS_EX_OVERLAPPEDWINDOW Combina os estilos WS_EX_CLIENTEDGE e WS_EX_WINDOWEDGE.
WS_EX_PALETTEWINDOW Combina os estilos WS_EX_WINDOWEDGE, WS_EX_TOOLWINDOW e WS_EX_TOPMOST.
WS_EX_RIGHT A janela possui genérico Propriedades "alinhado à direita". Isso depende da classe de janela. Este estilo tem efeito apenas se a linguagem shell for Hebraico, árabe ou outra linguagem que oferece suporte à leitura ordem alinhamento; caso contrário, o estilo é ignorado e não tratado como um erro.
WS_EX_RIGHTSCROLLBAR Barra de rolagem vertical (se houver) está no lado direito da área cliente. Este é o padrão.
WS_EX_RTLREADING Se a linguagem shell for Hebraico, árabe ou outra linguagem que oferece suporte à leitura alinhamento ordem, o texto janela é exibido usando direito a propriedades de ordem de leitura da esquerda. Para outros idiomas, o estilo é ignorado e não tratado como um erro.
WS_EX_STATICEDGE Cria uma janela com um borda tridimensional estilo que se destina a ser usado para itens que não não aceitarem entrada usuário.
WS_EX_TOOLWINDOW Cria uma janela de ferramenta; ou seja, uma janela deve ser usado como uma barra de ferramentas flutuante. Uma janela de ferramenta tem uma barra de título que é menor que uma barra de título normal, e o título da janela é desenhado usando uma fonte menor. Uma janela de ferramenta não aparece na barra de tarefas ou na caixa de diálogo que aparece quando o usuário pressiona alt + guia. Se uma janela de ferramenta tem um menu de sistema, seu ícone não será exibido na barra de título. No entanto, você pode exibir o menu sistema clicando ou digitando alt + space.
WS_EX_TOPMOST Especifica que uma janela criada com este estilo deve ser colocada acima de tudo não-superior windows e deve permanecer acima deles, mesmo quando a janela é desativada. Para adicionar ou remover esse estilo, use o SetWindowPos função.
WS_EX_TRANSPARENT Especifica que uma janela criada com este estilo não deve ser pintada até irmãos sob a janela (que foram criados pelo mesmo segmento) tem sido pintados. A janela aparece transparente porque os bits de subjacente janelas irmão já têm sido pintados.

Para atingir transparência sem essas restrições, use o SetWindowRgn função.

WS_EX_WINDOWEDGE Especifica que uma janela tem uma borda com uma borda saliente.

Usar o estilo de WS_EX_RIGHT para estático ou editar controles tem o mesmo efeito que usando o estilo SS_RIGHT ou ES_RIGHT, respectivamente. Usar este estilo com controles de botão tem o mesmo efeito que usando estilos BS_RIGHT e BS_RIGHTBUTTON.

boolean
Ponteiro para uma Cadeia de caracteres terminada por caractere nulo ou é um átomo inteiro. Se Boolean é um átomo, ele deverá ser um átomo global criado por um chamar anterior para GlobalAddAtom. O átomo, de 16-bit valor inferior a 0xC000, devem ser o baixo-palavra de ordem Boolean; o alto palavra ordem deve ser zero.

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.

lpWindowName
Ponteiro para uma seqüência de caracteres null-terminated que especifica o nome da janela.

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.

dwStyle
Especifica o estilo da janela que está sendo criado. Este parâmetro pode ser uma combinação dos seguintes estilos janela, além de estilos controle indicaram na seção Comentários.
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.

x
Especifica a posição horizontal inicial da janela. Para um sobreposta uma janela pop-up, o parâmetro x é o x inicial-coordenar do canto superior esquerdo da janela, em coordenadas da tela. Para um janela filho, x é o x-coordenar do canto superior esquerdo da janela relativo para o upper-Esquerda canto da área cliente da janela pai.

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

y
Especifica a posição vertical inicial da janela. Para um sobreposta uma janela pop-up, o parâmetro y é a y inicial-coordenar do canto superior esquerdo da janela, em coordenadas da tela. Para um janela filho, y é a y inicial-coordenar do canto superior esquerdo da janela filho, relativo para o upper-Esquerda canto da área cliente da janela pai. Para uma caixa de listagem, y é a y inicial-coordenar de upper-Esquerda canto da área de cliente da caixa de listagem relativo para o upper-Esquerda canto da área cliente da janela pai.

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.

nWidth
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 da janela; a largura padrão estende-se desde os x-coordenadas iniciais para a borda direita da tela; a altura padrão estende-se desde a y inicial-coordenar para o topo da área de ícone. CW_USEDEFAULT é válido somente para janelas sobrepostas; Se CW_USEDEFAULT for especificada para uma janela pop-up ou janela filho, o parâmetro nWidth e nHeight são definidas como zero.
nHeight
Especifica a altura, em unidades dispositivo, da janela. Para janelas sobrepostas, nHeight é altura da janela, em coordenadas da tela. Se o nWidth parâmetro for definido para CW_USEDEFAULT, o sistema ignora nHeight.
hWndParent
Identificador para a janela pai ou proprietário da janela que está sendo criada. Para criar uma janela filho ou uma janela de proprietário, fornece um válido identificador janela. Este parâmetro é opcional para janelas pop-up.

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.

hMenu
Identificador para um menu, ou especifica um filho identificador janela, depending on o estilo de janela. Para um sobreposta uma janela pop-up, hMenu identifica o menu a ser usado com a janela; pode ser NULL se o menu de classe é para ser usado. Para um janela filho, hMenu especifica o identificador da janela filho, um valor inteiro usado por um controle de caixa de diálogo para notificar seu pai sobre eventos. O aplicativo determina o identificador da janela filho; Ele deve ser exclusivo para Tudo as janelas filho com a mesma janela de pai.
hInstance
Identificador para a instância do módulo a ser associado com a janela.
lpParam
Um ponteiro para um valor a serem passados para a janela através da estrutura CREATESTRUCT passada na lParam parâmetro da mensagem WM_CREATE . Se um aplicativo chama CreateWindow para criar uma janela de cliente de interface (MDI) documento várias, lpParam deve apontar para uma estrutura CLIENTCREATESTRUCT.

Retornar valores

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.

Observações

O CreateWindowEx função envia mensagens WM_NCCREATE, WM_NCCALCSIZE e WM_CREATE para a janela que está sendo criada.

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.

Windows CE: Windows CE não oferece suporte a barras de menu de stand alone. O hMenu parâmetro deve ser NULL, a menos que ele é usado como um identificador de janela filho.

Versões do Windows CE 2.0 e posteriores suportam os seguintes dois estilos de janela estendido:

WS_EX_NOACTIVATE
Uma janela de nível superior criada com este estilo não pode ser ativada. Se um janela filho tiver esse estilo, tocá-lo não causará seu alto nível pai para ser ativado. Uma janela que tenha esse estilo recebe eventos caneta, mas nem ele nem seus janelas filho podem obter o foco.
WS_EX_NOANIMATION
Uma janela criada com este estilo não apresentação animada explodindo e imploding retângulos e não tem um botão na barra de tarefas.

Não há suporte para os seguintes sinalizadores de dwExStyle.

WS_EX_ACCEPTFILES WS_EX_LEFTSCROLLBAR
WS_EX_LEFT WS_EX_MDICHILD
WS_EX_LTRREADING WS_EX_PALETTEWINDOW
WS_EX_NOPARENTNOTIFY WS_EX_RIGHTSCROLLBAR
WS_EX_RIGHT WS_EX_TOOLWINDOW
WS_EX_RTLREADING WS_EX_TRANSPARENT
WS_EX_APPWINDOW

Windows CE 1.0 não suporta o estilo WS_EX_TOPMOST. Versões 2.0 e posteriores fazem.

Os seguinte dwStyle os sinalizadores não são com suporte.

WS_CHILDWINDOW WS_ICONIC
WS_MAXIMIZE WS_MAXIMIZEBOX
WS_MINIMIZE WS_MINIMIZEBOX
WS_OVERLAPPEDWINDOW WS_POPUPWINDOW
WS_SIZEBOX WS_THICKFRAME
WS_TILED WS_TILEDWINDOW

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.

QuickInfo

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.

Ver também

Visão geral sobre Windows, janela funções, CLIENTCREATESTRUCT, CREATESTRUCT, CreateWindow, GlobalAddAtom, RegisterClassEx, SetWindowPos, WM_CREATE, WM_NCCALCSIZE, WM_NCCREATE, WM_PAINT, WM_PARENTNOTIFY

Index