Hallo Enno,
jetzt mal ganz vom Anfang an.
Nimm dir ein neues Fenster und zieh dir eine Lisbox drauf.
Dieser gibst du als ColumnCount eine 4 und stellst bei den Gridlines
einen Wert ein(damit man die Zellen sieht). Alles andere läßt du so wie
es initial ist.
Im Open Event der Listbox schreibst du folgendes:
######################################################
dim iCounter,iCounter2 As Integer
me.DefaultRowHeight=me.Height/5
for iCounter=0 to 5
me.AddRow ""
for iCounter2=0 to 3
me.CellTag(me.LastIndex,iCounter2)=&Cffff00
next
next
#######################################################
Damit werden 5 Reihen erzeugt deren Celltag die Farbe GELB enthalten.
Im CellbackgroundPaint schreibst du dann folgendes:
###################################################
if row<me.ListCount then
g.ForeColor=me.CellTag(row,column)
g.FillRect 0,0,g.Width,g.Height
return true
end if
###################################################
Wir holen uns die Farbe aus dem Celltag und füllen das Rechteck damit.
Ausprobieren und es müßten alle Zellen in den 5 Reihen gelb sein.
Nun kommen wir zum CellClick.
Hier schreibst du das:
###################################################
if me.CellTag(row,column)<>&cffff00 then
me.CellTag(row,column)=&cffff00
else
me.CellTag(row,column)=&cff0000
end if
return true
###################################################
Hier sagen wir einfach ist die Farbe im CellTag nicht gelb dann schreibe
darein die Farbe Gelb. Ist sie dahingegen Gelb dann schreiben wir rot rein.
Nun kannst du in der List box klicken wie du willst. ist es ein gelbes
Feld wird dieses Rot und wenn es rot ist wird es gelb. Und alle anderen
Felder behalten ihre Farbe.
So jetzt mußt du nur noch ein paar Sicherheiten drumrum bauen.
LG Rossi
Enno Bussmann schrieb:
Am 06.10.2006 um 10:32 schrieb [EMAIL PROTECTED]:
Alternativ kann man auch die Farbe in Listbox.CellTag(row,column)
hinterlegen.
Dadurch bleibt der Zelltext unberührt.
MfG Rossi
Hallo Rossi,
was ich bislang noch nicht geschafft habe ist, dass die information beim
nächsten cellclick erhalten bleibt, dass also die zelle(1,1) wenn ich
auf die zelle (1,2) klicke weiterhin ihren farbigen zellhintergrund
behält. Irgendwas habe ich offenkundig noch nicht verstanden :-((
enno
--
IT-Rosenowski
Inh.: Jörg Rosenowski
Tauchaer Straße 232
04349 Leipzig
Tel.: +49 341 9211655
Funk: +49 179 6956858
http://www.it-rosenowski.de [EMAIL PROTECTED]