Estrutura LVITEMW (commctrl.h)
Especifica ou recebe os atributos de um item de exibição de lista. Essa estrutura foi atualizada para dar suporte a um novo valor de máscara (LVIF_INDENT) que permite o recuo do item. Essa estrutura substitui a estrutura LV_ITEM.
Sintaxe
typedef struct tagLVITEMW {
UINT mask;
int iItem;
int iSubItem;
UINT state;
UINT stateMask;
LPWSTR pszText;
int cchTextMax;
int iImage;
LPARAM lParam;
int iIndent;
int iGroupId;
UINT cColumns;
PUINT puColumns;
int *piColFmt;
int iGroup;
} LVITEMW, *LPLVITEMW;
Membros
mask
Conjunto de sinalizadores que especificam quais membros dessa estrutura contêm dados a serem definidos ou quais membros estão sendo solicitados. Esse membro pode ter um ou mais dos seguintes sinalizadores definidos:
Valor | Significado |
---|---|
|
Windows Vista e posterior. O membro piColFmt |
|
O membro cColumns é válido ou deve ser definido. |
|
O sistema operacional deve armazenar as informações de item de lista solicitadas e não solicitá-la novamente. Esse sinalizador é usado apenas com o código de notificação LVN_GETDISPINFO. |
|
O membro iGroupId é válido ou deve ser definido. Se esse sinalizador não estiver definido quando uma mensagem de LVM_INSERTITEM for enviada, o valor de iGroupId será considerado I_GROUPIDCALLBACK. |
|
O membro do iImage é válido ou deve ser definido. |
|
O membro iIndent é válido ou deve ser definido. |
|
O controle não gerará LVN_GETDISPINFO para recuperar informações de texto se receber uma mensagem de LVM_GETITEM. Em vez disso, o membro pszText |
|
O membro lParam é válido ou deve ser definido. |
|
O membro de estado |
|
O membro pszText é válido ou deve ser definido. |
iItem
Tipo: int
Índice baseado em zero do item ao qual essa estrutura se refere.
iSubItem
Tipo: int
Um índice baseado no subitem ao qual essa estrutura se refere ou zero se essa estrutura se referir a um item em vez de um subitem.
state
Indica o estado do item, a imagem de estado e a imagem de sobreposição. O membro stateMask indica os bits válidos desse membro.
Os bits 0 a 7 deste membro contêm os sinalizadores de estado do item. Isso pode ser um ou mais dos valores de de estado do item
Os bits 8 a 11 deste membro especificam o índice de imagem de sobreposição baseada em um. A lista de imagens de ícone de tamanho completo e a pequena lista de imagens de ícone podem ter imagens de sobreposição. A imagem de sobreposição é sobreposta sobre a imagem de ícone do item. Se esses bits forem zero, o item não terá nenhuma imagem de sobreposição. Para isolar esses bits, use a máscara de LVIS_OVERLAYMASK. Para definir o índice de imagem de sobreposição neste membro, você deve usar a macro INDEXTOOVERLAYMASK. As imagens de sobreposição da lista de imagens são definidas com a função ImageList_SetOverlayImage.
Os bits de 12 a 15 deste membro especificam o índice de imagem de estado. A imagem de estado é exibida ao lado do ícone de um item para indicar um estado definido pelo aplicativo. Se esses bits forem zero, o item não terá nenhuma imagem de estado. Para isolar esses bits, use a máscara de LVIS_STATEIMAGEMASK. Para definir o índice de imagem de estado, use a macro INDEXTOSTATEIMAGEMASK. O índice de imagem de estado especifica o índice da imagem na lista de imagens de estado que deve ser desenhada. A lista de imagens de estado é especificada com a mensagem LVM_SETIMAGELIST.
stateMask
Valor que especifica quais bits do estado membro serão recuperados ou modificados. Por exemplo, definir esse membro como LVIS_SELECTED fará com que apenas o estado de seleção do item seja recuperado.
Esse membro permite que você modifique um ou mais estados de item sem precisar recuperar todos os estados de item primeiro. Por exemplo, definir esse membro como LVIS_SELECTED e estado a zero fará com que o estado de seleção do item seja limpo, mas nenhum dos outros estados será afetado.
Para recuperar ou modificar todos os estados, defina esse membro como (UINT)-1.
Você pode usar a macro ListView_SetItemState para definir e limpar bits.
pszText
Se a estrutura especificar atributos de item, pszText será um ponteiro para uma cadeia de caracteres terminada em nulo que contém o texto do item. Ao responder a uma notificação de LVN_GETDISPINFO, certifique-se de que esse ponteiro permaneça válido até depois que a próxima notificação for recebida.
Se a estrutura receber atributos de item, pszText será um ponteiro para um buffer que recebe o texto do item. Observe que, embora o controle de exibição de lista permita que qualquer cadeia de caracteres de comprimento seja armazenada como texto do item, somente os primeiros 260 TCHARsão exibidos.
Se o valor de pszText for LPSTR_TEXTCALLBACK, o item será um item de retorno de chamada . Se o texto de retorno de chamada for alterado, você deverá definir explicitamente pszText para LPSTR_TEXTCALLBACK e notificar o controle de exibição de lista da alteração enviando uma mensagem LVM_SETITEM ou LVM_SETITEMTEXT.
Não defina pszText para LPSTR_TEXTCALLBACK se o controle de exibição de lista tiver o estilo LVS_SORTASCENDING ou LVS_SORTDESCENDING.
cchTextMax
Tipo: int
Número de
Esse membro só é usado quando a estrutura recebe atributos de item. Ela é ignorada quando a estrutura especifica atributos de item. Por exemplo, cchTextMax é ignorado durante LVM_SETITEM e LVM_INSERTITEM. Ele é somente leitura durante LVN_GETDISPINFO e outras notificações LVN_.
iImage
Tipo: int
Índice do ícone do item na lista de imagens do controle. Isso se aplica à lista de imagens grandes e pequenas. Se esse membro for o valor I_IMAGECALLBACK, a janela pai será responsável por armazenar o índice. Nesse caso, o controle de exibição de lista envia ao pai um código de notificação LVN_GETDISPINFO para recuperar o índice quando ele precisa exibir a imagem.
lParam
Valor específico para o item. Se você usar a mensagem LVM_SORTITEMS, o controle list-view passará esse valor para a função de comparação definida pelo aplicativo. Você também pode usar a mensagem
iIndent
Tipo: int
versão 4.70. Número de larguras de imagem para recuar o item. Um único recuo é igual à largura de uma imagem de item. Portanto, o valor 1 recuará o item pela largura de uma imagem, o valor 2 recuará por duas imagens e assim por diante. Observe que esse campo tem suporte apenas para itens. A tentativa de definir o recuo de subitem fará com que a função de chamada falhe.
iGroupId
Tipo: int
Versão 6.0 Identificador do grupo ao qual o item pertence ou um dos valores a seguir.
Valor | Significado |
---|---|
|
O controle listview envia ao pai um código de notificação LVN_GETDISPINFO para recuperar o índice do grupo. |
|
O item não pertence a um grupo. |
cColumns
versão 6.0 Número de colunas de dados (subitems) a serem exibidas para este item no modo de exibição de bloco. O valor máximo é 20. Se esse valor for I_COLUMNSCALLBACK, o tamanho da matriz de colunas e a própria matriz (puColumns) serão obtidos enviando uma notificação LVN_GETDISPINFO.
puColumns
versão 6.0 Um ponteiro para uma matriz de índices de coluna, especificando quais colunas são exibidas para este item e a ordem dessas colunas.
piColFmt
Tipo: int*
Windows Vista: Não implementado. Windows 7 e posterior: um ponteiro para uma matriz dos seguintes sinalizadores (sozinho ou em combinação), especificando o formato de cada subitem no modo de exibição de bloco estendido.
iGroup
Tipo: int
Windows Vista: índice de grupo do item. Válido somente para dados de proprietário/retorno de chamada (item único em vários grupos).
Observações
A estrutura de LVITEM
No modo de exibição de bloco, o nome do item é exibido à direita do ícone. Você pode especificar subitens adicionais (correspondentes a colunas na exibição de detalhes), a serem exibidos em linhas abaixo do nome do item. A matriz puColumns contém os índices de subitem a serem exibidos. Os índices devem ser maiores que 0, pois o subitem 0, o nome do item, já está exibido. As informações da coluna também podem ser definidas na estrutura de LVTILEINFO
Por exemplo, código, consulte Usando controles List-View.
Nota
O cabeçalho commctrl.h define LVITEM como um alias que seleciona automaticamente a versão ANSI ou Unicode dessa função com base na definição da constante do pré-processador UNICODE. A combinação do uso do alias neutro de codificação com código que não é neutro em codificação pode levar a incompatibilidades que resultam em erros de compilação ou de runtime. Para obter mais informações, consulte Conventions for Function Prototypes.
Requisitos
Requisito | Valor |
---|---|
de cliente com suporte mínimo | Windows Vista [somente aplicativos da área de trabalho] |
servidor com suporte mínimo | Windows Server 2003 [somente aplicativos da área de trabalho] |
cabeçalho | commctrl.h |