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]

Antwort per Email an