Stefan's Problem ist ja nicht, dass das Selektieren überhaupt nicht 
funktionieren würde. Es wird halt nur die 1. Zelle der selektierten Zeile 
gehighlighted. 
Ich hab das in meinem Hauptprojekt auch schon gehabt, und deshalb hier meinen 
workaround gepostet. Interessanterweise konnte ich das Problem aber nicht in 
einem neuen Projekt reproduzieren.

Stefan, Du solltest Dir noch angewöhnen, den Return-Wert in CellBackgroundPaint 
explizit zu setzen. Das scheint hier aber nicht das Problem zu sein.

Max

Am 06.09.2010 um 22:20 schrieb Michael Köhler:

> Das behebt zwar das Problem aber nicht die Ursache. Er muss das Selektieren
> schon im Programmcode abgefangen haben und für ungültig erklärt haben. Im
> Nachhinein das Selektieren durch Code wieder frei zu schalten macht wenig
> Sinn wenn es generell frei geschaltet sein soll. Denn generell ist es frei
> geschaltet. Er sollte also eher den fehlerhaften Code suchen und
> entfernen/anpassen statt den einen Fehler im Code durch einen anderen wieder
> auszubügeln.
> 
> Gruß Michael
> 
> Am 06.09.2010 21:35 Uhr schrieb "Maximilian Tyrtania" unter
> <maximilian.tyrta...@onlinehome.de>:
> 
>>>>> unter Windows wird in einer Listbox anscheinend nur eine Spalte 
>>>>> selektiert,
>>>>> wenn ich die Zeile anklicke.
>>>>> Wie bekomme ich es hin, dass die gesamte Zeile selektiert wird?
>> 
>> So:
>> 
>> Listbox-Subclass anlegen, und dort dann:
>> 
>> Im CellBackgroundPaint event:
>> 
>> #if targetwin32
>> if me.Selected(row) then
>>    me.DrawCellBackGroundInColor(g,HighlightColor)
>>    Return true 
>> end if
>> #endif
>> 
>> Private Sub DrawCellBackGroundInColor(g as graphics, aColor as Color)
>>  g.ForeColor=aColor
>>  g.FillRect(0,0,g.Width,g.Height)
>> End Sub
>> 
>> Maximilian Tyrtania
>> 
>> 
>> 
> 
> 
> 

Maximilian Tyrtania
maximilian.tyrta...@onlinehome.de




Antwort per Email an