Estilos de caixa de listagem

Para criar uma caixa de listagem usando a função CreateWindowouCreateWindowEx, use a classe LISTBOX, as constantes de estilo de janela apropriadas e as seguintes constantes de estilo para definir a caixa de listagem. Depois que o controle for criado, esses estilos não poderão ser modificados, exceto conforme observado.

Constante Descrição
LBS_COMBOBOX
Notifica uma caixa de listagem de que ela faz parte de uma caixa de combinação. Isso permite a coordenação entre os dois controles para que eles apresentem uma interface do usuário unificada. A caixa de combinação em si deve definir esse estilo. Se o estilo for definido por qualquer coisa, exceto pela caixa de combinação, a caixa de listagem se considerará incorretamente como um filho de uma caixa de combinação e uma falha resultará.
LBS_DISABLENOSCROLL
Mostra uma barra de rolagem horizontal ou vertical desabilitada quando a caixa de listagem não contém itens suficientes para rolar. Se você não especificar esse estilo, a barra de rolagem ficará oculta quando a caixa de listagem não contiver itens suficientes. Esse estilo deve ser usado com o estilo WS_VSCROLLouWS_HSCROLL.
LBS_EXTENDEDSEL
Permite que vários itens sejam selecionados usando a tecla SHIFT e as combinações de mouse ou chave especial.
LBS_HASSTRINGS
Especifica que uma caixa de listagem contém itens que consistem em cadeias de caracteres. A caixa de listagem mantém a memória e os endereços das cadeias de caracteres para que o aplicativo possa usar a mensagem LB_GETTEXT para recuperar o texto de um item específico. Por padrão, todas as caixas de listagem, exceto as caixas de listagem desenhadas pelo proprietário, têm esse estilo. Você pode criar uma caixa de listagem desenhada pelo proprietário com ou sem esse estilo.
Para caixas de listagem desenhadas pelo proprietário sem esse estilo, a mensagem LB_GETTEXT recupera o valor associado a um item (os dados do item).
LBS_MULTICOLUMN
Especifica uma caixa de listagem de várias colunas que é rolada horizontalmente. A caixa de listagem calcula automaticamente a largura das colunas ou um aplicativo pode definir a largura usando a mensagem LB_SETCOLUMNWIDTH. Se uma caixa de listagem tiver o estilo LBS_OWNERDRAWFIXED, um aplicativo poderá definir a largura quando a caixa de listagem enviar a mensagem WM_MEASUREITEM.
Uma caixa de listagem com o estilo LBS_MULTICOLUMN não pode rolar verticalmente, ignora quaisquer mensagens WM_VSCROLL recebidas.
Os estilos LBS_MULTICOLUMN e LBS_OWNERDRAWVARIABLE não podem ser combinados. Se ambos forem especificados, LBS_OWNERDRAWVARIABLE será ignorado.
LBS_MULTIPLESEL
Ativa ou desativa a seleção de cadeia de caracteres sempre que o usuário clica ou clica duas vezes em uma cadeia de caracteres na caixa de listagem. O usuário pode selecionar qualquer número de cadeias de caracteres.
LBS_NODATA
Especifica uma caixa de listagem sem dados. Especifique esse estilo quando a contagem de itens na caixa de listagem exceder mil. Uma caixa de listagem sem dados também deve ter o estilo LBS_OWNERDRAWFIXED, mas não deve ter o estilo LBS_SORT ou LBS_HASSTRINGS.
Uma caixa de listagem sem dados se assemelha a uma caixa de listagem desenhada pelo proprietário, exceto por não conter dados de bitmap ou cadeia de caracteres para um item. Os comandos para adicionar, inserir ou excluir um item sempre ignoram quaisquer dados de item especificados. As solicitações para localizar uma cadeia de caracteres dentro da caixa de listagem sempre falham. O sistema envia a mensagem WM_DRAWITEM para a janela do proprietário quando um item deve ser desenhado. O membro itemID da estrutura DRAWITEMSTRUCT passado com a mensagem WM_DRAWITEM especifica o número de linha do item a ser desenhado. Uma caixa de listagem sem dados não envia uma mensagem WM_DELETEITEM.
LBS_NOINTEGRALHEIGHT
Especifica que o tamanho da caixa de listagem é exatamente o tamanho especificado pelo aplicativo quando ele criou a caixa de listagem. Normalmente, o sistema dimensiona uma caixa de listagem para que a caixa de listagem não exiba itens parciais.
Para caixas de listagem com o estilo LBS_OWNERDRAWVARIABLE, o estilo LBS_NOINTEGRALHEIGHT sempre é imposto.
LBS_NOREDRAW
Especifica que a aparência da caixa de listagem não é atualizada quando as alterações são feitas.
Para alterar o estado de redesenhar o controle, use a mensagem WM_SETREDRAW.
LBS_NOSEL
Especifica que a caixa de listagem contém itens que podem ser exibidos, mas não selecionados.
LBS_NOTIFY
Faz com que a caixa de listagem envie um código de notificação para a janela pai sempre que o usuário clica em um item de caixa de listagem (LBN_SELCHANGE), clica duas vezes em um item (LBN_DBLCLK) ou cancela a seleção (LBN_SELCANCEL).
LBS_OWNERDRAWFIXED
Especifica que o proprietário da caixa de listagem é responsável por desenhar seu conteúdo e que os itens na caixa de listagem têm a mesma altura. A janela do proprietário recebe uma mensagem WM_MEASUREITEM quando a caixa de listagem é criada e uma mensagem WM_DRAWITEM quando um aspecto visual da caixa de listagem é alterado.
LBS_OWNERDRAWVARIABLE
Especifica que o proprietário da caixa de listagem é responsável por desenhar seu conteúdo e que os itens na caixa de listagem são variáveis de altura. A janela do proprietário recebe uma mensagem WM_MEASUREITEM para cada item na caixa quando a caixa de listagem é criada e uma mensagem WM_DRAWITEM quando um aspecto visual da caixa de listagem é alterado.
Esse estilo faz com que o estilo LBS_NOINTEGRALHEIGHT seja habilitado.
Esse estilo será ignorado se o estilo LBS_MULTICOLUMN for especificado.
LBS_SORT
Classifica cadeias de caracteres na caixa de listagem em ordem alfabética.
LBS_STANDARD
Classifica cadeias de caracteres na caixa de listagem em ordem alfabética. A janela pai recebe um código de notificação sempre que o usuário clica em um item de caixa de listagem, clica duas vezes em um item ou cancela a seleção. A caixa de listagem tem uma barra de rolagem vertical e tem bordas em todos os lados. Esse estilo combina os estilos LBS_NOTIFY, LBS_SORT, WS_VSCROLL e WS_BORDER.
LBS_USETABSTOPS
Permite que uma caixa de listagem reconheça e expanda caracteres de guia ao desenhar suas cadeias de caracteres. Você pode usar a mensagem LB_SETTABSTOPS para especificar posições de parada de tabulação. As posições de guia padrão são 32 unidades de modelo de caixa de diálogo separadas. As unidades de modelo de caixa de diálogo são as unidades independentes do dispositivo usadas em modelos de caixa de diálogo. Para converter medidas de unidades de modelo de caixa de diálogo em unidades de tela (pixels), use a função MapDialogRect.
LBS_WANTKEYBOARDINPUT
Especifica que o proprietário da caixa de listagem recebe mensagens WM_VKEYTOITEM sempre que o usuário pressiona uma tecla e a caixa de listagem tem o foco de entrada. Isso permite que um aplicativo execute um processamento especial na entrada do teclado.

Requisitos

Requisito Valor
Cabeçalho
Winuser.h