AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

DBGrid Datensatzmarkierer (Dreieck) färben

Ein Thema von Jumpy · begonnen am 26. Jul 2013 · letzter Beitrag vom 31. Jul 2013
Antwort Antwort
Jumpy

Registriert seit: 9. Dez 2010
Ort: Mönchengladbach
1.736 Beiträge
 
Delphi 6 Enterprise
 
#1

DBGrid Datensatzmarkierer (Dreieck) färben

  Alt 26. Jul 2013, 09:34
Hallo,

ich habe die Farbe der fixen Felder (1. Zeile, 1. Spalte) meines DBGrids sehr dunkel gemacht.
Durch setzten einer Hellen TitleFont ist das in der 1. Zeile auch kein Problem.
In der ersten Spalte aber ist ja als Datensatzmakierer so ein kleines Dreieck. Das bleibt aber schwarz.

Wie kann ich dessen Farbe ändern?

(delphi 2010)
Ralph
  Mit Zitat antworten Zitat
Jumpy

Registriert seit: 9. Dez 2010
Ort: Mönchengladbach
1.736 Beiträge
 
Delphi 6 Enterprise
 
#2

AW: DBGrid Datensatzmarkierer (Dreieck) färben

  Alt 29. Jul 2013, 21:55
push...
Ralph
  Mit Zitat antworten Zitat
Perlsau
(Gast)

n/a Beiträge
 
#3

AW: DBGrid Datensatzmarkierer (Dreieck) färben

  Alt 29. Jul 2013, 22:54
Google ist dein Freund
  Mit Zitat antworten Zitat
Jumpy

Registriert seit: 9. Dez 2010
Ort: Mönchengladbach
1.736 Beiträge
 
Delphi 6 Enterprise
 
#4

AW: DBGrid Datensatzmarkierer (Dreieck) färben

  Alt 30. Jul 2013, 09:08
Das halt ich mal für ein Gerücht

Ist ja nicht so, als ob ich nicht schon selbst gegoogelt und geDPt hätte. Jetzt hatte ich die wage Hoffnung deine Google-Versuche brächten mehr als meine, hast du doch das Wort Indicator verwendet anstatt wie ich nur Datensatzmakierer. Aber nach 3 Seiten Ergebnisse durchgehen ohne Erfolg, denke ich, das deine Suchbegriffe nicht besser waren als meine.

Ich versuch mich mal am selber Zeichnen. Muss halt nur die richtige Zelle finden. "gdSelected in State" oder wie das heißt, gilt ja nur für die aktuell gewählte Zelle, oder gilt das für die Zellen der ganze Zeile, wenn doch konkret nur eine Zelle ausgewählt ist (also kein Rowselect)?
Ralph
  Mit Zitat antworten Zitat
Furtbichler
(Gast)

n/a Beiträge
 
#5

AW: DBGrid Datensatzmarkierer (Dreieck) färben

  Alt 30. Jul 2013, 10:24
Ich versuch mich mal am selber Zeichnen.
Genau das ist der Inhalt der ersten drei und eigentlich auch aller Folgeseiten: Man muss das selbst malen.

Zitat:
Muss halt nur die richtige Zelle finden. "gdSelected in State" oder wie das heißt
Hast Du die Quellen von TDBGrid nicht? Da steht doch alles drin... und die Methode 'DrawCell' ist auch noch virtuell.

Nebenbei: Da der Indicator als Bitmap gezeichnet wird, ist da logischerweise auch nix mit 'Farbe ändern'.
  Mit Zitat antworten Zitat
Benutzerbild von Union
Union

Registriert seit: 18. Mär 2004
Ort: Luxembourg
3.492 Beiträge
 
Delphi 7 Enterprise
 
#6

AW: DBGrid Datensatzmarkierer (Dreieck) färben

  Alt 30. Jul 2013, 12:07
Dort findest Du ein schönes Beispiel inklusive Sourcecode. Es werden sogar die meisten überschriebenen Methoden noch einmal gründlich erklärt.
Ibi fas ubi proxima merces
sudo /Developer/Library/uninstall-devtools --mode=all
  Mit Zitat antworten Zitat
Perlsau
(Gast)

n/a Beiträge
 
#7

AW: DBGrid Datensatzmarkierer (Dreieck) färben

  Alt 30. Jul 2013, 14:20
Manche Gerüchte sind durchaus wahr

Ist ja nicht so, als ob ich nicht schon selbst gegoogelt und geDPt hätte. Jetzt hatte ich die wage Hoffnung deine Google-Versuche brächten mehr als meine, hast du doch das Wort Indicator verwendet anstatt wie ich nur Datensatzmakierer. Aber nach 3 Seiten Ergebnisse durchgehen ohne Erfolg, denke ich, das deine Suchbegriffe nicht besser waren als meine.
Zum Ersten: Die Suchergebnisse, die du von mir erhalten hast, liefern dir Informationen über den Aufbau des DBGrids. Wenn du auf fertige Sourcen gehofft hattest, mußt du jetzt natürlich enttäuscht sein. Wie bereits Furtbichler oben richtig bemerkt hat, besteht "der Inhalt der ersten drei und eigentlich auch aller Folgeseiten [darin]: Man muss das selbst malen." Und auch Union verweist dich auf genau die Seite, die im ersten Suchergebnis steht. Das sollte dir zu denken geben.

Zum Zweiten: Die angebotene Hilfe herunterzumachen, nur weil man nicht sofort in Milch und Honig gebadet wird, wirkt demotivierend auf alle, die dir zu helfen versuchen, und erhöht somit die Wahrscheinlichkeit, daß du in Zukunft gar keine Antworten mehr erhalten wirst. Zudem ist es unfreundlich und herabwürdigend! Ich jedenfalls werde mich in Zukunft hüten, einem User Jumpy Lösungsmöglichkeiten anzubieten ...
  Mit Zitat antworten Zitat
Jumpy

Registriert seit: 9. Dez 2010
Ort: Mönchengladbach
1.736 Beiträge
 
Delphi 6 Enterprise
 
#8

AW: DBGrid Datensatzmarkierer (Dreieck) färben

  Alt 31. Jul 2013, 08:52
Nur mal für denn Fall, dass mich jetzt nicht jeder für den riesen Depp hält, der keine Hilfe annimmt, und daher weiter liest:

Ich wollte verstehen, ob/wie ich die Farbe von diesem Dreieck ändern kann und hab gedacht, da muss es doch Beispiele geben. Hab natürlich gegoogelt und in der DP gesucht, auch wenn ich das im 1. Post hätte erwähnen sollen.
Ich hab dann auf ein Ergebnis gehofft, wie es z.B. die Suche nach "Wie färbe ich im DBGrid die Zeilen unterschiedlich", in Massen bringt. Irgendwas wo dann im OnColumnDraw-Event mit einer eigenen Prozedur entsprechend dafür gesorgt wird.

Mit dieser Erwartungshaltung habe ich eure Antworten nicht Annehmen bzw. Verstehen können. Und mir ging es da jetzt nicht unbedingt um fertigen Quellcode, sondern auf einen Hinweis, wie packe ich das Dreick im OnColumnDraw oder alleine schon die erste Spalte.

Was ich aus euren Antowrten nicht entnehmen konnte (aufgrund meiner falschen Erwartungen)(musste da erstmal ne Nacht drüber schlafen) ist: Das kann man nicht im OnColumnDraw selber machen. Mann kann das im DBGrid per se überhaupt nicht machen. Man muss sich erst eine eigene Ableitung des DBGrids erstellen, in der man dann die Draw-Methode überschreibt.
Wenn ich das nun richtig interpretiert habe, kann ich es mit der Info mal versuchen. Muss dann nur noch die Stelle finden, wo das Bitmap? dieses Dreieck herkommt und wo/wie ich das ersetze.


Ich zieh mir also zum Großteil die Mütze an, dafür, dass die Kommunikation in diesem Thread etwas anneinander vorbei gelaufen ist. Eure Antworten waren OK, ich hab nur (im Kopf?) die falsche Frage gestellt. Warum eure Antowrten nur OK und nicht perfekt waren liegt daran, dass mir keiner explizit gesagt hat, du musst dir 'ne eigene Version des DBGrids ableiten, damit das klappt. Mit dem Satz dabei hätte ich auch die Google links verstanden. Aber wie gesagt, das war ich mit meiner Frage vllt. selber schuld.


@Perlsau:
Ich finde, Du solltest die Begriffe 'Index', 'Primary Key' und 'Foreign Key' mal nachschlagen.
Ist ja sicher nett gemeint, aber glaubst du im Ernst, ich wüßte nach mehreren Jahren der Datenbankprogrammierung nicht, was diese Begriffe bedeuten? Wie kommst du eigentlich darauf?
So wie du hier etwas angesäuert klingst, das du "belehrt" wirst die Begrifflichkeiten nachzuschlagen, als ob du erst wenig mit Datenbanken gemacht hast, was ja nicht der Fall war, so war ich ein bißchen sauer "ich google das mal für dich, da du ja scheinbar noch nicht mal das kannst" (überspitzt) als Antwort zu kriegen. Wo ich doch schon lange genug bei dem Forum dabei bin, das man mir zutrauen könnte zumindest google und die Forensuche schon bemüht zu haben. Zudem mir die Antworten scheinbar noch nicht mal weiterhalfen (Zu dem Zeitpunkt hatte ich ja was anderes erwartet s.o.).
Also sei nicht sauer, hilf mir ruhig weiterhin, aber geh davon aus, das man mir sicherheitshalber explizit sagen muss, wie ich die Antwort verstehen soll, bzw. weißt mich darauf hin, dass ich die Frage vielleicht falsch gestellt habe.
Ralph
  Mit Zitat antworten Zitat
Benutzerbild von sx2008
sx2008

Registriert seit: 16. Feb 2008
Ort: Baden-Württemberg
2.332 Beiträge
 
Delphi 2007 Professional
 
#9

AW: DBGrid Datensatzmarkierer (Dreieck) färben

  Alt 31. Jul 2013, 10:03
Also das Dreieck-Bitmap ist eine Resource aus der VCL.
Diese wird mit {$R DBGRIDS.RES} in der Unit DbGrids.pas eingebunden.
Die Datei liegt im Pfad C:\Programme\Delphi5\Lib\ (bitte an aktuelle Delphiversion anpassen)
Der Name der Resource ist DBGARROW sowie DBMULTIARROW mit jeweils 6 * 11 Pixel.
Mit dem in Delphi enthaltenen Bildeditor (Menü->Tools->Bildeditor) kann man die Resourcendatei laden und verändern.
Allerdings ist sind die Bitmaps monochrom (1 Bit/Pixel) so dass man auf diesem Wege wohl nur die Form ändern kann.
Man könnte versuchen aus dem monochromen Bitmap ein 16 oder 256 Farben Bitmap zu machen.
fork me on Github
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:57 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz