![]() |
StringGrid - Markierung ändert sich nicht
Hi ihr,
hab immer noch ein kleines Problem mit StringGrid. Ich ändere zur Laufzeit StringGrid.Options.
Delphi-Quellcode:
Nach dieser Änderung sollte normalerweis nur noch das 1. Feld in der aktiven Zeile markiert sein.
StringGrid5.Options := StringGrid5.Options - [goRangeSelect, goRowSelect] + [goEditing];
{oder} StringGrid5.Options := StringGrid5.Options - [goRangeSelect, goRowSelect]; Es bleibt aber die aktuelle Markierung so lange erhalten bis ich selber die Markierung ändere. Danach ist dann auch wirklich nur noch 1 Feld markiert. Hab auch StringGrid.Selection abgefragt. Aber auch dort steht noch die angezeigte Markierung drin. Diese gepunktete Markierungslinie wird geändert, aber das blaue bleibt. Aus irrgend einem Grund kann ich auch noch StringGrid.Selection keine Werte zuweisen. Zitat:
Delphi-Quellcode:
StringGrid5.Repaint;
StringGrid5.Update; StringGrid5.Refresh; {und sogar hiermit versucht} StringGrid5.Realign; Beim zurücksetzten geht es, oder fällt zumindestens nicht auf.
Delphi-Quellcode:
StringGrid5.Options := StringGrid5.Options + [goRangeSelect, goRowSelect] - [goEditing];
|
Re: StringGrid - Markierung ändert sich nicht
StringGrid1.Selection:= TGridRect(Rect(2,1,2,1));
==Zeile1, Spalte2 Oder meinst du mit "Wert zuweisen", was in die Zelle schreiben? Das must du über Col und Row machen. Gruß Bernd |
Re: StringGrid - Markierung ändert sich nicht
Ich hatte es in mehreren Versionen Versucht:
Delphi-Quellcode:
Und über all heißt es, das der linken Seite nichts zuweisbar ist.
StringGrid1.Selection := TGridRect(Rect(2, 1, 2, 1));
StringGrid1.Selection.Left := 2; StringGrid1.Selection.Top := 1; StringGrid1.Selection.Right := 2; StringGrid1.Selection.Bottom := 1; StringGrid1.Selection.TopLeft := TGridCoord(Point(2, 1)); StringGrid1.Selection.BottomRight := TGridCoord(Point(2, 1)); |
Re: StringGrid - Markierung ändert sich nicht
Hallo Himitsu,
der Tip von huberlix sollte eigentlich funktionieren. Zitat:
Zitat:
|
Re: StringGrid - Markierung ändert sich nicht
Egal ob goRangeSelect ausgewählt ist oder nicht, der Compiler mekert immer rum. Hab's sogar in einem neuen/leeren Form versucht - ging auch nicht.
Das ist ja mein Prob, egal was ich versuche, es geht einfach nichts. :( |
Re: StringGrid - Markierung ändert sich nicht
Ok, ich hab jetzt ein StringGrid und nen Button auf die Form gepappt.
Dann in Button1Click die Selection reingeschrieben. Funktioniert einwandfrei. Hier mal die ganze Unit. Vergleich mal genau! Ich denk der Fehler liegt irgendwo anders.
Delphi-Quellcode:
unit Unit1;
interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, Grids; type TForm1 = class(TForm) StringGrid1: TStringGrid; Button1: TButton; procedure Button1Click(Sender: TObject); private { Private-Deklarationen } public { Public-Deklarationen } end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.Button1Click(Sender: TObject); begin stringgrid1.Selection:=TGridRect(Rect(3,3,3,3)); end; end. |
Re: StringGrid - Markierung ändert sich nicht
Ich weis ja selber das es gehen sollte, aber aus irrgend einem Grund geht es plötzlich nicht mehr.
Installiere jetzt erst mal alles neu, mal seh'n was passiert. |
Re: StringGrid - Markierung ändert sich nicht
Keine Ahnung wieso, aber jetzt geht es wieder.
Hatte doch schon mal neu installiert. Dennoch Danke für eure Hilfe :firejump: Falls doch noch jemandem einfällt woran das gelegen haben kann. Mich würde es immer noch interresieren, denn gelösst ist es ja nicht so richtig. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:25 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 by Thomas Breitkreuz