![]() |
StringGrid: Gitterindex ausserhalb des gueltigen Bereichs
Hi!
ich hab hier ein ziemlich eklatantes problem: wenn ich in meinem project folgendes mache:
Delphi-Quellcode:
dann krieg ich beim klicken auf das stringgrid ab und zu die meldung:
procedure TForm2.StringGrid1SelectCell(Sender: TObject; ACol,
ARow: Integer; var CanSelect: Boolean); begin canselect:=false; end; EInvalidGridOperation: Gitterindex ausserhalb des zulaessigen Berreichs wobei ACol und ARow aber eindeutig ok sind. der fehler tritt nicht auf, wenn ich das canselect weglasse... :wall: irgendwer eine idee? :gruebel: Best_Regards Burning_Chrome Berichtigung: der fehler tritt nicht beim klicken sondern beim clicken+ tastehalten + mausziehen (also beginn eines multiselect vorgangs) auf - allerdings ist goRangeSelect auf False gesetzt und selected wird von mir vorher auf -1 -1 -1 -1 gesetzt. das ganze soll mir ein grid zeigen indem keine zelle blau markiert ist bzw. werden kann und das auch nicht durch klicken geaendert wird. der haken ist wohl das setzen von selected :?: gibts ne andere moeglichkeit die laestigen bleuen boxen wegzukriegen? |
Re: StringGrid: Gitterindex ausserhalb des gueltigen Bereich
Zitat:
Du könntest einfach das Zeichnen im OnDrawCell selber übernehmen und dort die Farben so festlegen wie Du möchtest:
Delphi-Quellcode:
procedure TForm1.StringGrid1DrawCell(Sender: TObject; ACol, ARow: Integer;
Rect: TRect; State: TGridDrawState); begin if (ACol > 0) And (ARow >0) then begin with Sender as TStringGrid do begin Canvas.Brush.Color := Color; Canvas.FillRect(Rect); end; end; end; |
AW: StringGrid: Gitterindex ausserhalb des gueltigen Bereichs
Auch wenn dieser Eintrag schon ewig alt ist. Ich habe die gleiche Fehlermeldung und möchte das ganze aber nicht über OnDrawCell lösen.
Meine Frage ist nun also: Warum kommt die Fehlermeldung und wie bekomme ich sie weg? Best regards. |
AW: StringGrid: Gitterindex ausserhalb des gueltigen Bereichs
Zusatz:
Zitat:
Bei mir tritt der Fehler auf, wenn ich Reihe 1 und folgende anklicke. Bei Reihe 0 passiert nichts. |
AW: StringGrid: Gitterindex ausserhalb des gueltigen Bereichs
Hallo
zeig mal bitte mehr code. du nutzt in deinem anderen Thread ja das hier
Delphi-Quellcode:
erweitere mal das um
QUEUE_Grid.Selection := TGridRect(Rect(-1, -1, -1, -1));
Delphi-Quellcode:
und dreh mal am Mausrad ;-), da knallts auch, wenn Du onmousewheelXY nicht erweiterst.
QUEUE_Grid.setFocus
Das setfocus geht nur einfacher, du bekommst das auch hin, wenn du in eine fixed-Zelle klicktsund dann am Rad drehst ;-) Selber Zeichnen ist aber für mich die bessere Lösung, wenn du den Selektionsrahmen weghaben willst. Gruß Frank |
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:59 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