![]() |
Stringgrid und Controls
Hi,
warum ist die erste Zelle in einem Grid blau eingefärbt ? Gibt man was ein, dann keine mehr, es sei denn die Kontrolle geht an ein anderes Fenster über. Ist das Feld blau und ich suche über ein anderes Fenster, dann steht später der gesuchte Wert in dem Feld. Ist es weiß, muß ich in dem leeren Feld Enter drücken, dann erscheint der Suchbegriff auch. Diesen Suchbegriff weise ich einfach Stringrid.Cells [x,y] zu. |
Re: Stringgrid und Controls
Das ist wohl die standardmäßig selektierte / fokusierte.
|
Re: Stringgrid und Controls
Und das heißt ? 8) Drücke ich jedesmal in der weißen Zelle Enter, wird sie blau und alles geht. Aber ich kann wohl keinem zumuten, bei einer weißen Zeile Enter zu drücken, damit sie blau wird und bei einer blauen eben nicht, da sie dann weiß wird und anders reagiert. Drückt man dann wieder Enter ists ja schon wieder gut. Nebenbei bemerkt, das blau ist mir sowieso zu fett. Es wäre besser alles weiß. Der Cursor und die bereits ausgefüllten Felder reichen zur Orientierung.
P.S.: Dieses Verhalten betrifft das ganze Grid !! |
Re: Stringgrid und Controls
Ich hatte das mal gelöst, aber ich habe gerade meinen Code nicht hier.
Ich glaube ich hab's so gelöst, kann es hier aber nicht ausprobieren. Im DrawCell-Event des Grids:
Delphi-Quellcode:
Hoffe es hilft.
If (gdSelected in State) then
With Sender as TStringGrid Do Begin Canvas.Brush.Color := clWhite; Canvas.FillRect(Rect); End; |
Re: Stringgrid und Controls
Dies würde nur das Problem mit der Farbe lösen, aber nicht das mit dem Verhalten, was viel wichtiger wäre. Aber egal, vielleicht hat sonst noch jemand eine Idee. Ich lasse die Frage mal offen, da der dahinter liegende Code viel komplizierter ist. Dann drücke ich eben dauernd Enter, aber lassen kann ichs im Endeffekt so nicht.
|
Re: Stringgrid und Controls
Sorry, hatte mir nicht alles durchgelesen. :roll:
Es sollte nur verhindern, dass in einem nicht ausgewählten Grid die erste Zelle markiert wird. |
Re: Stringgrid und Controls
Das Problem bei deiner "anit-markier"-variante ist nur, dass sämtlicher Inhalt verloren geht.
Ich habe versucht, das Problem zu beheben, indem ich vor der FillProzedur den Inhalt ausgelesen und ihn danach wieder eingetragen habe, nur leider wird auf diese Aktion hin, die Prozedur "OnDrawCell" wieder neu aufgerufen.... endlosschleife, wie mir scheint :-) Hat jemand tipps? |
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:47 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz