Mellem rum i listobx med pixels??

Tags:    delphi

Hej!! Jeg tænkte på om det var muliogt at lave et mellemrum i en listbox, hvis størrelse var i pixels.
Fx en list box hvor der står BlaBlaBla og så vil jeg have et mellemrum på 20 pixels, og så noget mere tekst.
Kan man det??

/Mads



5 svar postet i denne tråd vises herunder
2 indlæg har modtaget i alt 3 karma
Sorter efter stemmer Sorter efter dato
Nå. Det kunne jeg ikke finde ud af... er der en der har et andet forslag????


Det er nu ellers let nok. For det første skal du angive at Style på din ListBox skal være lbOwnerDrawFixed.

Lad os så sige at du angiver teksten i ListBox1.Items til f.eks.
blabla;blabla
qwetr;asd

Osv. Altså dine tekster til listen er på formen tekst1;tekst2.
Der må ikke være andre semikoloner i den enkelte tekst.

Dernæst definerer du OnDrawItem eventen på din listbox:
Fold kodeboks ind/udKode 


Således. Der er masse af plads til forbedringer, men det skulle gerne kunne give dig en ide om hvordan det skal fungere.

Alternativet er jo at bruge en TListView med ViewStyle=vsRapport. Der er en udemærket artikel om brugen af sådan en her: http://www.udvikleren.dk/article.php?aid=30&techid=2
---
Thomas Due
Software developer
udvikleren.dk - ASP redaktør
tdue@mail.dk



Ja, men saa bliver du n'dt til at bruge din TListBox's OnDrawItem, og dernaest bruge Canvas til at skrive alt indholdet i din TListBox. Det er maaske en lidt kompliceret vej at gaa, hvis du kun vil have mellemrum i et x antal pixels, men umiddelbart kan jeg kun se den. Saa du bor nok overveje om det er besvaeret vaerd :)

Held og Lykke
Soren Klit Lambaek



Ja, men saa bliver du n'dt til at bruge din TListBox's OnDrawItem, og dernaest bruge Canvas til at skrive alt indholdet i din TListBox. Det er maaske en lidt kompliceret vej at gaa, hvis du kun vil have mellemrum i et x antal pixels, men umiddelbart kan jeg kun se den. Saa du bor nok overveje om det er besvaeret vaerd :)

Held og Lykke
Soren Klit Lambaek


Tjaa.. jeg kan jo altid prøve og se om jeg kan finde ud af det.. :D

/Mads



Ja, men saa bliver du n'dt til at bruge din TListBox's OnDrawItem, og dernaest bruge Canvas til at skrive alt indholdet i din TListBox. Det er maaske en lidt kompliceret vej at gaa, hvis du kun vil have mellemrum i et x antal pixels, men umiddelbart kan jeg kun se den. Saa du bor nok overveje om det er besvaeret vaerd :)

Held og Lykke
Soren Klit Lambaek

Nå. Det kunne jeg ikke finde ud af... er der en der har et andet forslag????

/Mads

/Mads



Nå. Det kunne jeg ikke finde ud af... er der en der har et andet forslag????


Det er nu ellers let nok. For det første skal du angive at Style på din ListBox skal være lbOwnerDrawFixed.

Lad os så sige at du angiver teksten i ListBox1.Items til f.eks.
blabla;blabla
qwetr;asd

Osv. Altså dine tekster til listen er på formen tekst1;tekst2.
Der må ikke være andre semikoloner i den enkelte tekst.

Dernæst definerer du OnDrawItem eventen på din listbox:
Fold kodeboks ind/udKode 


Således. Der er masse af plads til forbedringer, men det skulle gerne kunne give dig en ide om hvordan det skal fungere.

Alternativet er jo at bruge en TListView med ViewStyle=vsRapport. Der er en udemærket artikel om brugen af sådan en her: http://www.udvikleren.dk/article.php?aid=30&techid=2
---
Thomas Due
Software developer
udvikleren.dk - ASP redaktør
tdue@mail.dk


Det skal jeg da prøve... Tak for hjælpen!!

/Mads



t