Avatar billede -l_jogge_l- Nybegynder
18. april 2004 - 17:33 Der er 10 kommentarer og
1 løsning

Liges stor afstande i ListBox

Hvis jeg nu har en listebox i VB 6.0, og har en liste der ser ca. sådan her ud:
Jeg bruger:
List.additem "001" & vbTab & "Cypress Hill" & vbtab & "CD 5"List.additem "002" & vbTab & "Ice Cube" & vbtab & "CD 6"

001    Cypress Hill    CD 5
002    Ice Cube    CD 6

Hvordan jeg få det til at stå pænt????
Avatar billede wannadoo Nybegynder
18. april 2004 - 17:45 #1
Så må ud lave nogle faste "mål". Fx. kan du lave en funktion, som der siger, at hvert "item"'s ID, er 3 tegn, og titlen er 16 tegn, og CD er 5 tegn("CD 55").
Avatar billede -l_jogge_l- Nybegynder
18. april 2004 - 17:50 #2
Hvordan?
Avatar billede hiks Nybegynder
18. april 2004 - 17:51 #3
Det er faktisk noget rod, men kan lade sig gøre. Jeg vil dog anbefale dig at bruge listview. Men here goes:

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

' The number of tabs
Public Const OBorder = 5
Public Tabulator(1 To OBorder) As Long

Private Sub Form_Load()

        ' Hver tab værdi
        Tabulator(1) = 80
        Tabulator(2) = 180
        Tabulator(3) = 280
        Tabulator(4) = 350
       
        ' Er nødvendig
          SendMessage DitListBoxNavn.hWnd, _
            LB_SETTABSTOPS, OBorder, Tabulator(1)

End Sub

Og derefter fylder du bare i med vbTab som du plejer.

List.additem "001" & vbTab & "Cypress Hill" & vbtab & "CD 5"List.additem "002" & vbTab & "Ice Cube" & vbtab & "CD 6"

/hiks
Avatar billede wannadoo Nybegynder
18. april 2004 - 17:52 #4
Jeg er lige ved at bruge min fantasi, brb :)
Avatar billede joern Nybegynder
18. april 2004 - 20:37 #5
Hej.

Jeg troede det kom i kolonner med vbtab.  Hvis det har noget med proportional-skriften at gøre kan man vælge en font der ikke er det, f.eks. courier.

M.v.h.  Jørn
Avatar billede -l_jogge_l- Nybegynder
19. april 2004 - 09:45 #6
jørn: Det kan man osse (det med skrfittypen), men det går gatl hvis jeg har en tittle på 3 tegn og en på 20 tegn!!!
Avatar billede -l_jogge_l- Nybegynder
19. april 2004 - 09:47 #7
Den giver rød farve ved:
Public Const LB_SETTABSTOPS = &H192 og
Public Const OBorder = 5
Avatar billede joern Nybegynder
19. april 2004 - 11:27 #8
Hej.

Ja, da jeg nærlæste - efter at have svaret - kunne jeg godt se at det var forskellene på længder af strenge der er problemet.
Du ved vel HVOR lange tekster, der kan forekomme i de enkelte felter?  Skal du videre bearbejde indholdet fra listeboksen ved klik på en post?

En mulighed er nemlig at gøre teksterne lige lange ved at tilføje blanktegn bag ved dem, det vil ikke fungere med en proportionalskrift uden samtidig at bruge tabulering.

  streng = left(streng & space(20),20)

M.v.h.  Jørn
Avatar billede hiks Nybegynder
19. april 2004 - 11:51 #9
>Den giver rød farve ved:
>Public Const LB_SETTABSTOPS = &H192 og
>Public Const OBorder = 5

Fandt du ud af det? Tror måske at de skal ligge i et modul men er ikke sikker, tjekker det lige når jeg kommer hjem!
Avatar billede hiks Nybegynder
19. april 2004 - 11:57 #10
Sådan:

'I et modul
Public Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hWnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
Public Const LB_SETTABSTOPS = &H192

' The number of tabs
Public Const OBorder = 5
Public Tabulator(1 To OBorder) As Long

og resten skal du så have på din form! Bemærk hvis du skal højrestille nogle af dine strings skal du også til at arbejde med spaces og udregning af længderne.

/hiks
Avatar billede -l_jogge_l- Nybegynder
20. april 2004 - 08:47 #11
Takker hiks
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester