Entwickler-Ecke

Grafische Benutzeroberflächen (VCL & FireMonkey) - 2 TStringGrids synchron scrollen


Bosm - Do 12.12.02 09:14
Titel: 2 TStringGrids synchron scrollen
Hallo NG,

ich habe 2 TStringGrids und 1 Scrollbar. Wenn ich die Scrollbar bewege, dann gehen beide TStringGrids mit. :lol: Wenn ich aber mit dem Cursor eines der beiden TStgringGrids scrolle, dann ist zwar die Selection auf gleicher höhe, wenn ich aber aus dem Sichtbaren Bereich hinaus komme, dann bleibt das andere TStringGrid stehen und scrollt nicht mit. :cry: :?:

Kann mir jemand einen Trick verraten, mit dem man das bewerkstelligen kann :?:


Keldorn - Do 12.12.02 09:57

Hallo,

guck dir mal die eigenschaft Toprow des Stringgrids an.
bei einem Tastendruck kannst du toprow für das andere Stringgrid setzen.

Mfg Frank


Bosm - Do 12.12.02 11:03

:cry: Leider klappt das mit dem TopRow nicht so wie ich mir das vorstelle. Wenn ich in das OnKeyPress-Ereignis des aktiven TStringGrids reingehe und jedesmal die TopRow des anderen TStringGrids aktuelisieren will, dann bleibt das Programm ohne Fehler oder Reaktion stehen.

Mein Code innerhalb des OnKeyPress-Ereignisses lautet:

Quelltext
1:
sgr_Datei2.TopRow := sgr_Datei1.TopRow;                    


was kann daran falsch sein bzw. muss ich noch irgend ein OnDraw-Ereignis oder sowas auslösen :?: :?: :?:


Bosm - Do 12.12.02 11:15

:oops: :?: Ich weiss zwar nicht genau warum, aber ich hab das ganze im OnDraw-Ereignis untergebracht mit der Synchronisation des ScrollBars, und jetzt klappt es auf einmal. :oops:

:D Danke für die Hilfe


Keldorn - Do 12.12.02 11:17

probiers mal im OnKeydown:


Quelltext
1:
2:
3:
4:
procedure TForm1.StringGrid1KeyDown(Sender: TObject; var Key: Word;Shift: TShiftState);
begin
  if key in [vk_down,vk_up] then stringgrid2.toprow:=stringgrid1.toprow;
end;


Mfg Frank


Keldorn - Do 12.12.02 11:18

Bosm hat folgendes geschrieben:
:oops: :?: Ich weiss zwar nicht genau warum, aber ich hab das ganze im OnDraw-Ereignis untergebracht mit der Synchronisation des ScrollBars, und jetzt klappt es auf einmal. :oops:

:D Danke für die Hilfe


im Ondraw des stringgrids hat das meiner meinung nach nix zu suchen


Bosm - Do 12.12.02 12:11

Hast recht. Das hat dort nur Probleme gemacht. Im OnKeyDown-Ereignis klappt das alles sehr gut. :idea:
Danke für den Rat und die Hilfe :lol: