USUÁRIO:      SENHA:        SALVAR LOGIN ?    Adicione o VBWEB na sua lista de favoritos   Fale conosco 

 

  Fórum

  Visual Basic
Voltar
Autor Assunto:  Dica inédita.....tabulação no listbox
Ivo
BARRETOS
SP - BRASIL
Postada em 20/05/2006 10:29 hs            
while not rs.eof
list1.addItem rs.fields(1) & space(50 - Len(Mid(rs.fields(1),1,30))) & vbtab & rs.fields(2)
rs.movenext
wend
onde 50 é o tamanho do campo no banco de dados do primeiro campo.
     
Jose.Niz
CURITIBA
PR - BRASIL
Postada em 20/05/2006 16:08 hs         
Desculpe, mais não há novidade aqui... Abaixo tem outro método.

Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
Private Const LB_SETTABSTOPS = &H192

Private Sub Form_Load()

   Dim TabStop(0 To 1) As Long
  
   ' Posição das tabulações
   TabStop(0) = 90
   TabStop(1) = 130
  
   'Limpa posições dos tabs
   Call SendMessage(List1.hwnd, LB_SETTABSTOPS, 0&, ByVal 0&)
   ' Define a quantidade e posição dos tabs
   Call SendMessage(List1.hwnd, LB_SETTABSTOPS, 2, TabStop(0))
  
   List1.Clear
   List1.AddItem 1 & vbTab & 2 & vbTab & 3
   List1.AddItem 10 & vbTab & 20 & vbTab & 30
   List1.AddItem "AbcD" & vbTab & "ZxxZ" & vbTab & "YxxY"
   List1.AddItem "Coluna1" & vbTab & "Coluna2" & vbTab & "Coluna3"
End Sub
     
Ivo
não registrado
ENUNCIADA !
Postada em 20/05/2006 17:06 hs   
Olha o tamanho do seu codigo..
   
Jose.Niz
CURITIBA
PR - BRASIL
Postada em 20/05/2006 18:08 hs         
Ivo eu não esperava que vc se ofende-se com isso!

O uso de tabulação em listbox é trivial e bem documentado no MSDN online. A menos que você utilize um fonte de tamanho fixo na listbox seu algoritmo não irá surtir efeito. O uso de APIs é necessário para se ter um controle fino nas distâncias entre as colunas algo impossível de se conseguir diretamente pelas propriedades do controle ou por contagem de espaços em branco quando se utiliza fontes de tamanaho variável.

Veja pelo lado da eficiência e não pela quantidade de linhas. Quando um código possui uma pequena quantidade de linhas não significa que esse código seja eficiente.

Quanto de recurso (e tempo) será gasto em seu código para preencher com brancos entre os campos por meio das funções Space, Len e Mid??? Além é claro do resultado ser questionável!
TÓPICO EDITADO
   
Ivo
BARRETOS
SP - BRASIL
Postada em 20/05/2006 20:54 hs            
Oi José
Acho que houve um mal entendido, não me ofendi, acho que me expressei mal.
Fiquei entusiasmado por quebrar a cabeça e fazer esse codigo sem usar API.
Voce tem toda razão....
Me desculpe...
     
Página(s): 1/1    


Seu Nome:

Seu eMail:

ALTERAR PARA MODO HTML
Mensagem:

[:)] = 
[:P] = 
[:(] = 
[;)] = 

HTML DESLIGADO

     
 VOLTAR

  



CyberWEB Network Ltda.    © Copyright 2000-2025   -   Todos os direitos reservados.
Powered by HostingZone - A melhor hospedagem para seu site
Topo da página