Startseite ¦  was ist neu ¦  programmier tips ¦  indy artikel ¦  intraweb artikel ¦  informationen ¦  links ¦  interviews ¦  sonstiges
kylix ¦  tutorials ¦  online shop ¦  fotos ¦  Add&Win Gewinnspiel


Willkommen Gast. Bitte einloggen oder registrieren.
21.05.2012, 11:19:28
Übersicht Hilfe Suche Einloggen Registrieren

+  SwissDelphiCenter Forum
|-+  German Forums
| |-+  Datenbank Forum
| | |-+  TDBGrid: Aktive Zeile durch die HintergrundFarbe hervorheben
« vorheriges nächstes »
Seiten: [1] Drucken
Autor Thema: TDBGrid: Aktive Zeile durch die HintergrundFarbe hervorheben  (Gelesen 1622 mal)
delph5
Jr. Member
**
Offline Offline

Beiträge: 74



« am: 11.03.2002, 16:14:14 »

097 TDBGrid: Aktive Zeile durch die HintergrundFarbe hervorheben ?

1) Situation: In einem TDBGrid ist "RowSelect" o.ä. ab-geschaltet; der ZellenFokus ist "weiße Schrift auf duBlauer Zelle". Das soll so bleiben.

Gesucht wird nach einer Lösung, wo alle GridZeilen einen leicht-grauen Hintergrund haben, außer der aktiven Zeile mit schwarzer Schrift auf weißem Hintergrund. Von links bis rechts über die gesamte Grid-Width.

[FONT COLOR="red"]2) Frage:[/FONT] Wie kann man sich ein solches Grid-Objekt herstellen ?

3) Eigene Tests: Im ersten Schritt war ich zwar erfolgreich bei der Codierung eines Grid-Ereignisses "OnRowEnter", welches diese "highLightning"-Aktion durchführen könnte. Leider fehlt mir bis jetzt das dazu passende Ereignis "OnRowExit", welches das Zeilen-"highLightning" löschen müßte.

Die zweite Hürde liegt darin, daß alle graphischen Pen- und Brush-Methoden sich nicht mit der Text-Darstellung vertragen: Der Text wird wegen fehlender Transparenz weg-gefärbt. Abhilfe sollte das Zeichnen eines hellBlauen Rahmens um die aktive Zeile herum bringen unter Auswertung der Variable "SelectedIndex" o.ä.

Hat auch nicht funktioniert. DELPHI zeichnet diesen Rahmen erstens viel zu dünn (genau 1 Pixel und nicht breiter), zweitens völlig irregulär bezüglich des vertikalen Offsets vom oberen Rand des GridGitters aus gerechnet.

Also greift man zu "TCanvas.Polygon". Es reagiert auf die Zuweisung "Pen-Width := 4". Doch es gibt wieder ein Problem beim Ausfüllen des Inneren; die DELPHI-Hilfe drückt sich da sehr wider-sprüchlich aus. Das eine Mal heißt es:

Zitat:
----------------------------
'DELPHI-HELP' schrieb:[FONT COLOR="purple"]
TCanvas.Rectangle

...Mit FrameRect oder Polygon können Sie den Umriß eines rechteckigen Bereichs zeichnen, ohne diesen zu füllen....
[/FONT]----------------------------

Das andere Mal heißt es:

Zitat:
----------------------------
'DELPHI-HELP' schrieb:[FONT COLOR="purple"]
TCanvas.Polygon

Beschreibung

Mit dieser Methode können Sie unter Verwendung des aktuellen Stifts eine in sich geschlossene, vieleckige Form zeichnen. Die Form wird mit dem aktuellen Pinsel gefüllt.
[/FONT]----------------------------

Es klappt aber sowieso schon die richtige Vertikal-Positionierung nicht. Wer weiß einen Rat ? Vielleicht durch Eingriff in den QuellCode von TDBGrid oder sowas in der Richtung, oder ?

Danke für alle / "any" Tips !

.
Gespeichert
Seiten: [1] Drucken 
« vorheriges nächstes »
Gehe zu:  


Einloggen mit Benutzername, Passwort und Sitzungslänge

Powered by MySQL Powered by PHP Powered by SMF 1.1.11 | SMF © 2006, Simple Machines LLC Prüfe XHTML 1.0 Prüfe CSS