Tjosan! Jag skulle vilja ändra en rad i en listbox till att vara italic, men jag begriper inte hur man går till väga för att göra det... om det nu fungerar.
Jag har försökt med att ändra texten i kolumnen, men det vill sig inte
lboStuff.Column(0, lboStuff.ListIndex) = "Hmm..."
Då säger den bara 'Object required' och det kan jag väl förstå, men hur får jag tag på kolumnobjektet?
Jag hade tänkt mig att använda mig utav FontItalic-egenskapen sedan om jag bara hittar åt objektet.
Oavsett om du kommer åt kolumn- eller radobjekt eller inte så har listboxar inget inbyggt stöd för olika fontegenskaper på enskilda rader.
Om du måste göra det så går det i grova drag till så här:
1. Subklassa huvudprogrammets fönsterfunktion och fånga WM_CREATE.
2. När du får WM_CREATE för listboxen så ändra listboxens style till WS_OWNERDRAW med SetWindowLong (annars funkar inte 3 o 4).
3. Subklassa listboxen och fånga WM_DRAWITEM.
4. Varje gång du får ett WM_DRAWITEM så ritar du själv texten med TextOut på det sätt du vill ha den.
Ett smidigare sätt kan vara att köra på en listvy istället. Listvyer har, vad jag vet, inte heller stöd för kursiv stil i enskilda celler, men däremot för plain/bold och olika färger. Det kanske du klarar dig på?