Vídeo recomendado
https://youtu.be/diWPPPhW-9E

Como alinhar numeros a direita na ListBox

Fórum para dúvidas sobre os fundamentos da linguagem de programação Visual Basic no contexto do VBA
RobertoCM
Colaborador
Colaborador
Mensagens: 51
Registrado em: Sáb Set 28, 2019 9:57 am

Como alinhar numeros a direita na ListBox

Mensagem por RobertoCM »

Olá bom dia a todos, estou desenvolvendo um projeto que tem ListBox e gostaria de continuar assim ao invés de usar ListView, estou tentando alinhar valores numéricos a direita estes valores vem de um banco no access, tenho visto comentários de que a maneira de se fazer isso é acrescentando espaços na coluna, a pergunta é como fazer isso? pois não achei nenhum exemplo disso nem vídeo mostrando como fazer, a outra opção é acrescentar outra Listbox e sincronizar as barras de rolagem, os dados vem do access não da planilha alguém tem um exemplo? ou pode explicar?


Disable adblock

This site is supported by ads and donations.
If you see this text you are blocking our ads.
Please consider a Donation to support the site.


Avatar do usuário
Reinaldo
Jedi
Jedi
Mensagens: 1537
Registrado em: Sex Ago 01, 2014 4:09 pm
Localização: Garça - SP / SCS - SP

Re: Como alinhar numeros a direita na ListBox

Mensagem por Reinaldo »

Listbox "aceita" alinhamento de forma geral e para todas as colunas pela propriedade TextAlign (Esq/centro/dir), alinhar colunas de forma individual requer um contorno (para não dizer Gambiarra) a essa "limitação".
Um bom passo a passo para esse contorno e o exposto em https://www.clubedohardware.com.br/foru ... m-listbox/.
Primeiro atente para: "configurar o listbox com uma fonte regular" por exemplo: "Corrier New"
Motivo: Fontes não regulares têm um comprimento diferente para cada caractere o que gerará um alinhamento não uniforme; o que com fontes regulares não ocorre, pois utilizam sempre o mesmo comprimento de caracteres propiciando assim um visual de alinhamento uniforme.
Segundo: Defina o tamanho (quantidade de caracteres) que essa coluna/itens deverão "suportar" (ponto e virgula devem ser considerados)
Terceiro: Na linha de inclusão desse(s) itens efetuar a "manobra"

Código: Selecionar todos

valorStr = Format(CStr(seucampooriundodorecordset), "###,##0.00")
       listbox(x,y) = Space(15 - Len(valorStr)) & valorStr


Responder