Avatar billede isdan Nybegynder
06. december 2000 - 22:28 Der er 6 kommentarer og
3 løsninger

Kolonner i Combobox/Listbox

Hvordan kan jeg lave pæn opstilling i Combobox/Listbox ....

Nu opbygger jeg en combobox.AddNew string1 & \"  \" & string2  .....osv 
Men det bliver ikke pænt?
Avatar billede nuno Nybegynder
06. december 2000 - 22:34 #1
Hvad mener du lige med pæn opstilling? Du skal vel bare have en item på hver linie?

/nuno
Avatar billede joern Nybegynder
06. december 2000 - 22:54 #2
Hej Isdan.

Jeg ville bruge MSflexgrid.  Evt. kan man dér udelade linierne, hvis det passer dig.
Det må være fordi dine strings ikke er lige lange, at det anførte ikke bliver i kolonner.
Og det vil ikke fungere at tilføje spaces så længden passer med mindre du bruger en font, der ikke er proportional.  Med courier vil lige mange tegn danne kolonner.

M.v.h.  Jørn
Avatar billede isdan Nybegynder
06. december 2000 - 23:07 #3
>>joern 
Ja du har ret med courier kan man nok regne det ud kolone1MAX = 10 tegn  og  kolone2MAX = 5 ... osv  Og så bruge mSpaces = kolone1MAX - len(string1) og så tilføj spaces til resten... Men en trals måde at gøre det på...
Nogle forslage. 
Avatar billede isdan Nybegynder
06. december 2000 - 23:10 #4
>>nuno
nej hver linje er byget op af 3 database værdier som ikke er lige lange. Feks. 10  Cdrom  350kr
                              112  Brænder  960kr

Avatar billede nuno Nybegynder
06. december 2000 - 23:15 #5
aarh soo - ok :)

har du prøvet med at indsætte vbTab mellem hver - så de står pænt?

combobox.additem string1 & vbTab & string2

jeg ved ikke om det virker - men er da et forsøg værd...

/nuno
Avatar billede nerøs Nybegynder
07. december 2000 - 00:32 #6
Du kan også definere flere kolonner i en box fx:
listbox.columncount=3
Så kan du tilføje en hel matrix i et hug ved at at sætte .List() egenskaben, eller tilføje  data enkeltvis ved at bruge .column([col],[row])=data.

Dette er godt nok fra VBA - men så kan man vel også i VB!?
VH Nerøs
Avatar billede nolle_k Nybegynder
07. december 2000 - 09:15 #7
Du skal bruge et ListView istedet for en List!
Her kan du specificere kolonner og tekster til disse. Det er skide smart!

Sådan her gøres det

lstView.View = lvwReport
 
  lstView.ColumnHeaders.Add , \"Titel\", \"Titel\", Bredde
  lstView.ColumnHeaders.Add , \"Genre\", \"Genre\",

Så har du to kolonner. Du indsætter data på følgende måde!

Dim LstItem as ListItem
\'Clear
lstView.ListItems.Clear
   
\'New Row
Set LstItem = lstView.ListItems.Add(, , \"Pas på den knald...\")
\'First subitem -> second column
LstItem.SubItems(1) = \"Dansk Top\"


Så er der to rækker!   
Avatar billede nolle_k Nybegynder
07. december 2000 - 09:16 #8
Der mangler lige en Bredde efter \"Genre\",
Avatar billede nuno Nybegynder
07. december 2000 - 13:26 #9
glem mit svar - har selv lige tjekket at det IKKE virker.

/nuno
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