Einzelnen Beitrag anzeigen

Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#8

Re: mehrzeilige Zellen im Stringgrid

  Alt 23. Feb 2006, 13:56
Aha, Terminkalender. Da nützt die Programmierkunst erst mal gar nichts. Ich schreibe mal spontan, was mir als Wünsche/Vorstellungen dazu einfällt. Ich will auf den ersten Blick sehen, wann ein Termin ist. Hierzu würde eine farblische Hervorhebung der Zellen ausreichen. . in zweiter Spalte wäre auch günstig (Termin wo mit wem ?) Das könnte man auch durchziehen über diverse Zeiträume. Ist der ganze Monat rot, so wäre klar was los ist. Das wäre mal das eine. Das nächste sind die Detailinformationen. Würde ich gerne bei Bedarf auch genau sehen. Mit 2 Zeilen oder 3 oder 4 kommst Du aber nicht sehr weit. Ich will bei komplizierten Fällen nicht gezwungen sein "wg.div.vorh.gefü.Gespr.vorh.w.anr." eingeben. Und das eventuell noch durch Zeilenumbrüche abgeschnitten. Keiner will von einem Computerprogramm genötigt werden sich einen abzumurksen. Gut wäre es außerdem, wenn diese Detailinformationen automatisch eingeblendet werden, wenn die Maus über der entsprechenden Zelle ist.

Mir fällt dazu noch einiges mehr ein, aber zuerst will ich mal wissen, ob das bei Dir überhaupt in der Richtung geplant ist. Reichen in Deinem Fall 2 oder 3 Zeilen, dann ist der eingschlagene Weg vielleicht ausreichend. Deshalb vorerst nur ein Tip, wie die Farben der Zellen einfach hinzukriegen sind. Ich will natürlich auch eine Klassifizierung der Termine, z.B. so was : grün : "CD muß morgen fertig sein", rot : "Termin", lila : "im Termin versprochene neue CD muß raus" usw. Farben sind willkürlich gewählt. 8) Also gut, zumindest die Farben : die schreibst Du als Konstante einfach in die Zellen. Im OnDrawCell wird dann in Abhängigkeit der dahinterliegenden Zahl die betroffene Zelle in der gewünschten Farbe neu gezeichnet. Der Trick ist dabei, daß man die eigentlich in der Zelle stehende Zahl gar nicht zu sehen bekommt. Ähnlich könnte man das mit den Detailinformationen machen. Wie wäre es eigentlich dazu eine Combobox zu "mißbrauchen" ? Ist eine zu sehen, dann wäre wohl klar, daß Detailinformationen hinterlegt sind.

Noch zum Flackern : das kommt daher, wenn Zellinhalte verändert werden. Z.B. alleine durch Cell[...] := clRed; Das veranlaßt das Stringgrid, sich immer wieder neu zu zeichnen. Du mußt auch immer im OnDrawCell die Zellen genau abfragen !
Gruß
Hansa
  Mit Zitat antworten Zitat