Como definir paradas de tabulação em uma caixa de listagem usando o Visual translation from VPE for Csharp .NET

IMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine Translation ou MT), não tendo sido portanto traduzido ou revisto por pessoas. A Microsoft possui artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais, com o objetivo de oferecer em português a totalidade dos artigos existentes na base de dados de suporte. No entanto, a tradução automática não é sempre perfeita, podendo conter erros de vocabulário, sintaxe ou gramática. A Microsoft não é responsável por incoerências, erros ou prejuízos ocorridos em decorrência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza atualizações freqüentes ao software de tradução automática (MT). Obrigado.

Clique aqui para ver a versão em Inglês deste artigo: 318601
Este artigo foi arquivado. É oferecido "como está" e não será mais atualizado.
Para uma versão deste artigo do Microsoft Visual Basic. NET, consulte 318600.

Este artigo se refere ao seguinte namespace Microsoft .NET Framework Class Library:
  • System.Runtime.InteropServices

NESTA TAREFA

Sumário
Este artigo passo a passo mostra como definir configurações de tabulação personalizada em um controle ListBox . Talvez você queira fazer isso para exibir uma caixa de lista que simula várias colunas (ou seja, semelhante a aparência do controle ListView no modo de exibição relatório), ou para simular a aparência do Windows Explorer no modo de exibição Detalhes. Observe que você geralmente pode substituir o controle ListView para o controle ListBox obter esse efeito.

Para realizar essa tarefa, você deve enviar uma mensagem LB_SETTABSTOPS para o controle ListBox usando a chamada SendMessage . Quando você usa a mensagem LB_SETTABSTOPS, informações que são passadas no wParam e lParam argumentos de chamada SendMessage definem guia pára. O argumento de wParam é um número inteiro que especifica o número de paradas de tabulação que devem ser definidas. O argumento lParam é uma matriz de inteiros que definem os locais de paradas de tabulação.

Os números que são fornecidos como locais de parada de tabulação são medidos em unidades de um quarto da largura do caractere médio para a fonte que está selecionada para a caixa de listagem. Por exemplo, um local da parada de tabulação de 4 será igual à largura de um caractere médio para a fonte especificada; um local da parada de tabulação de 8 equivale à largura de dois caracteres. No entanto, se a caixa de listagem for parte de uma caixa de diálogo, os inteiros são em unidades de modelo de diálogo. Além disso, a matriz de paradas de tabulação deve ser classificada em ordem crescente.

back to the top

Etapas para criar o exemplo

  1. Crie um novo aplicativo Windows translation from VPE for Csharp Visual. O Form1 é criado por padrão.
  2. Adicionar o seguinte usando declarativa:
    using System.Runtime.InteropServices;					
  3. Cole o seguinte código na classe Form1:
    // Declaration of external function.[DllImport("user32.dll")]private static extern int SendMessage (int hWnd, int wMsg,	int wParam, ref int lParam);// Windows message constant for setting the tab stops for a list boxprivate const int LB_SETTABSTOPS = 0x192;					
  4. Adicione um controle ListBox ao Form1 e dimensioná-lo para aproximadamente 5 polegadas de largura.
  5. Cole o seguinte código no evento Load do formulário:

    Observação: \t no código abaixo representa um caractere de tabulação.
    // Add a few items to the ListBox control.this.listBox1.Items.Add("Jan Sales\tFeb Sales\tMar Sales");this.listBox1.Items.Add("50\t500\t5000");					
  6. Adicione um controle CommandButton ao Form1.
  7. Cole o seguinte código no evento Click do controle CommandButton :
    // Please note that when building this sample for 64 bit, you will need to change any specfic 32 bit method calls to the appropriate 64 bit call.int[] ListBoxTabs = new int[] {80, 240};int result;// Send an LB_SETTABSTOPS message to the ListBox control.result = SendMessage(this.listBox1.Handle.ToInt32(),	LB_SETTABSTOPS, ListBoxTabs.Length, ref ListBoxTabs[0]);        // Refresh the ListBox control.this.listBox1.Refresh();					
  8. Executar a amostra e clique no botão. Como os valores para os locais de parada de tabulação são 80 e 240, as paradas de tabulação são definidas em aproximadamente 20 caracteres e 60 caracteres.
back to the top

Propriedades

ID do Artigo: 318601 - Última Revisão: 12/07/2015 09:04:33 - Revisão: 2.0

Microsoft Visual C# .NET 2002 Standard Edition

  • kbnosurvey kbarchive kbmt kbctrl kbhowto kbhowtomaster kblistbox kbsample KB318601 KbMtpt
Comentários