Estilos de janela estendidos

Veja a seguir os estilos de janela estendidos.

Exemplo


virtual    BOOL    Create(HWND hWndParent, WCHAR* pwszClassName,
                            WCHAR* pwszWindowName, UINT uID, HICON hIcon,
                            DWORD dwStyle = WS_OVERLAPPEDWINDOW,
                            DWORD dwExStyle = WS_EX_APPWINDOW,
                            int x = CW_USEDEFAULT, int y = CW_USEDEFAULT,
                            int cx = CW_USEDEFAULT, int cy = CW_USEDEFAULT);

Esse código foi obtido de um exemplo no repositório GitHub de exemplos clássicos do Windows .

Constante/valor Descrição
WS_EX_ACCEPTFILES
0x00000010L
A janela aceita arquivos de arrastar e soltar.
WS_EX_APPWINDOW
0x00040000L
Força uma janela de nível superior por sobre a barra de tarefas quando a janela está visível.
WS_EX_CLIENTEDGE
0x00000200L
A janela tem uma borda com uma borda submersa.
WS_EX_COMPOSITED
0x02000000L
Pinta todos os descendentes de uma janela em ordem de pintura de baixo para cima usando buffer duplo. A ordem de pintura de baixo para cima permite que uma janela decrescente tenha efeitos de translúcibilidade (alfa) e transparência (chave de cor), mas somente se a janela descendente também tiver a WS_EX_TRANSPARENT bit definida. O buffer duplo permite que a janela e seus descendentes sejam pintados sem cintilação. Isso não poderá ser usado se a janela tiver um estilo de classe de CS_OWNDC ou CS_CLASSDC.
Windows 2000: Não há suporte para esse estilo.
WS_EX_CONTEXTHELP
0x00000400L
A barra de título da janela inclui um ponto de interrogação. Quando o usuário clica no ponto de interrogação, o cursor muda para um ponto de interrogação com um ponteiro. Se o usuário clicar em uma janela filho, o filho receberá uma mensagem WM_HELP . A janela filho deve passar a mensagem para o procedimento de janela pai, que deve chamar a função WinHelp usando o comando HELP_WM_HELP . O aplicativo 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
0x00010000L
A janela em si contém janelas filho que devem participar da navegação da caixa de diálogo. Se esse estilo for especificado, o gerenciador de caixas de diálogo se repetirá aos filhos dessa janela ao executar operações de navegação, como manipular a tecla TAB, uma tecla de seta ou um mnemônico de teclado.
WS_EX_DLGMODALFRAME
0x00000001L
A janela tem uma borda dupla; a janela pode, opcionalmente, ser criada com uma barra de título especificando o estilo WS_CAPTION no parâmetro dwStyle .
WS_EX_LAYERED
0x00080000
A janela é uma janela em camadas. Esse estilo não poderá ser usado se a janela tiver um estilo de classe de CS_OWNDC ou CS_CLASSDC.
Windows 8: há suporte para o estilo WS_EX_LAYERED para janelas de nível superior e janelas filho. As versões anteriores do Windows dão suporte apenas a WS_EX_LAYERED para janelas de nível superior.
WS_EX_LAYOUTRTL
0x00400000L
Se o idioma do shell for hebraico, árabe ou outro idioma que dê suporte ao alinhamento da ordem de leitura, a origem horizontal da janela estará na borda direita. O aumento dos valores horizontais avança para a esquerda.
WS_EX_LEFT
0x000000000L
A janela tem propriedades genéricas alinhadas à esquerda. Esse é o padrão.
WS_EX_LEFTSCROLLBAR
0x00004000L
Se o idioma do shell for hebraico, árabe ou outro idioma que dê suporte ao alinhamento da ordem de leitura, a barra de rolagem vertical (se presente) será à esquerda da área do cliente. Para outros idiomas, o estilo é ignorado.
WS_EX_LTRREADING
0x000000000L
O texto da janela é exibido usando propriedades de ordem de leitura da esquerda para a direita. Esse é o padrão.
WS_EX_MDICHILD
0x00000040L
A janela é uma janela filho MDI.
WS_EX_NOACTIVATE
0x08000000L
Uma janela de nível superior criada com esse estilo não se torna a janela de primeiro plano quando o usuário clica nela. O sistema não coloca essa janela em primeiro plano quando o usuário minimiza ou fecha a janela em primeiro plano.
A janela não deve ser ativada por meio de acesso programático ou por meio da navegação por teclado por tecnologia acessível, como o Narrador.
Para ativar a janela, use a função SetActiveWindow ou SetForegroundWindow .
A janela não aparece na barra de tarefas por padrão. Para forçar a janela a aparecer na barra de tarefas, use o estilo WS_EX_APPWINDOW .
WS_EX_NOINHERITLAYOUT
0x00100000L
A janela não passa seu layout de janela para suas janelas filho.
WS_EX_NOPARENTNOTIFY
0x00000004L
A janela filho criada com esse estilo não envia a mensagem WM_PARENTNOTIFY para a janela pai quando ela é criada ou destruída.
WS_EX_NOREDIRECTIONBITMAP
0x00200000L
A janela não é renderizada para uma superfície de redirecionamento. Isso é para janelas que não têm conteúdo visível ou que usam mecanismos diferentes de superfícies para fornecer seu visual.
WS_EX_OVERLAPPEDWINDOW
(WS_EX_WINDOWEDGE | WS_EX_CLIENTEDGE)
A janela é uma janela sobreposta.
WS_EX_PALETTEWINDOW
(WS_EX_WINDOWEDGE | WS_EX_TOOLWINDOW | WS_EX_TOPMOST)
A janela é uma janela de paleta, que é uma caixa de diálogo de modelagem que apresenta uma matriz de comandos.
WS_EX_RIGHT
0x00001000L
A janela tem propriedades genéricas "alinhadas à direita". Isso depende da classe de janela. Esse estilo só terá efeito se a linguagem shell for hebraica, árabe ou outra linguagem que dê suporte ao alinhamento da ordem de leitura; caso contrário, o estilo será ignorado.
Usar o estilo WS_EX_RIGHT para controles estáticos ou de edição tem o mesmo efeito que usar o estilo SS_RIGHT ou ES_RIGHT , respectivamente. Usar esse estilo com controles de botão tem o mesmo efeito que usar estilos de BS_RIGHT e BS_RIGHTBUTTON .
WS_EX_RIGHTSCROLLBAR
0x000000000L
A barra de rolagem vertical (se presente) está à direita da área do cliente. Esse é o padrão.
WS_EX_RTLREADING
0x00002000L
Se o idioma do shell for hebraico, árabe ou outro idioma que dê suporte ao alinhamento da ordem de leitura, o texto da janela será exibido usando propriedades de ordem de leitura da direita para a esquerda. Para outros idiomas, o estilo é ignorado.
WS_EX_STATICEDGE
0x00020000L
A janela tem um estilo de borda tridimensional destinado a ser usado para itens que não aceitam entrada do usuário.
WS_EX_TOOLWINDOW
0x00000080L
A janela deve ser usada como uma barra de ferramentas flutuante. Uma janela de ferramentas tem uma barra de título mais curta que uma barra de título normal e o título da janela é desenhado usando uma fonte menor. Uma janela de ferramentas não aparece na barra de tarefas ou na caixa de diálogo que aparece quando o usuário pressiona ALT+TAB. Se uma janela de ferramentas tiver um menu do sistema, seu ícone não será exibido na barra de título. No entanto, você pode exibir o menu do sistema clicando com o botão direito do mouse ou digitando ALT+SPACE.
WS_EX_TOPMOST
0x00000008L
A janela deve ser colocada acima de todas as janelas não superiores e deve permanecer acima delas, mesmo quando a janela for desativada. Para adicionar ou remover esse estilo, use a função SetWindowPos .
WS_EX_TRANSPARENT
0x00000020L
A janela não deve ser pintada até que os irmãos abaixo da janela (que foram criados pelo mesmo thread) tenham sido pintados. A janela parece transparente porque os bits de janelas irmãos subjacentes já foram pintados.
Para obter transparência sem essas restrições, use a função SetWindowRgn .
WS_EX_WINDOWEDGE
0x00000100L
A janela tem uma borda com uma borda elevada.

Requisitos

Requisito Valor
Cliente mínimo com suporte
Windows 2000 Professional [somente aplicativos da área de trabalho]
Servidor mínimo com suporte
Windows 2000 Server [somente aplicativos da área de trabalho]
Cabeçalho
Winuser.h (inclua Windows.h)