AGB  ·  Datenschutz  ·  Impressum  







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

StringGrid mit ScrollBar verknüpfen

Ein Thema von Wheelie · begonnen am 26. Sep 2004 · letzter Beitrag vom 26. Sep 2004
Antwort Antwort
Wheelie

Registriert seit: 21. Okt 2003
Ort: Dresden
177 Beiträge
 
#1

StringGrid mit ScrollBar verknüpfen

  Alt 26. Sep 2004, 12:21
Habe vier StringGrids auf meiner Form und möchte mit einer ScrollBar alle Grids gemeinsam scrollen. Wie kann ich das am besten realisieren?
  Mit Zitat antworten Zitat
omata

Registriert seit: 26. Aug 2004
Ort: Nebel auf Amrum
3.154 Beiträge
 
Delphi 7 Enterprise
 
#2

Re: StringGrid mit ScrollBar verknüpfen

  Alt 26. Sep 2004, 15:49
Moin,

das kannst du über das Ereignis OnTopLeftChanged erreichen.


Im ersten Grids sieht die Methode folgendermaßen aus...
Delphi-Quellcode:
procedure TForm.StringGrid1TopLeftChanged(Sender: TObject);
begin
  StringGrid2.LeftCol:=StringGrid1.LeftCol;
  StringGrid3.LeftCol:=StringGrid1.LeftCol;
  StringGrid4.LeftCol:=StringGrid1.LeftCol;
  StringGrid2.TopRow:=StringGrid1.TopRow;
  StringGrid3.TopRow:=StringGrid1.TopRow;
  StringGrid4.TopRow:=StringGrid1.TopRow;
end;

und so weiter...


MfG
Thorsten
  Mit Zitat antworten Zitat
Wheelie

Registriert seit: 21. Okt 2003
Ort: Dresden
177 Beiträge
 
#3

Re: StringGrid mit ScrollBar verknüpfen

  Alt 26. Sep 2004, 19:46
danke erstmal für die antwort, aber ich meinte gleichzeitig scrollen im zusammenhang mit ner scrollbar geht es vielleicht irgendwie (evtl. mit messages), wenn ich bei einer der vier scrollbars die scrollmöglichkeit aktiviere und ich mit dieser scrollbar die anderen steuere?
  Mit Zitat antworten Zitat
Benutzerbild von nailor
nailor

Registriert seit: 12. Dez 2002
Ort: Karlsruhe
1.989 Beiträge
 
#4

Re: StringGrid mit ScrollBar verknüpfen

  Alt 26. Sep 2004, 19:49
ich glaube nicht, dass man das "verknüpfen" kann, und dann automatisch gescrollt wird. Du musst di Ereignisse der Scrollbar abfangen und entsprechend dein Stringgrid anpassen. Das könnte man z.b. so machen, wie von omata vorgeschlagen.
Michael N.
http://nailor.devzero.de/code/sharpmath/testing/ --- Tests, Feedback, Anregungen, ... aller Art sehr willkommen!
::: don't try so hard - it'll happen for a reason :::
  Mit Zitat antworten Zitat
Wheelie

Registriert seit: 21. Okt 2003
Ort: Dresden
177 Beiträge
 
#5

Re: StringGrid mit ScrollBar verknüpfen

  Alt 26. Sep 2004, 21:00
Doch - hab's gerade eben hinbekommen

Die Lösung steht in diesem Thread:
http://www.delphipraxis.net/internal...t=oldgridproc1

Delphi-Quellcode:
 private
   OldGridProc1, OldGridProc2: TWndMethod;
   procedure Grid1WindowProc(var Message: TMessage);
   procedure Grid2WindowProc(var Message: TMessage);
public

{...} 

procedure TForm1.Grid1WindowProc(var Message: TMessage);
begin
  OldGridProc1(Message);
  if ((Message.Msg = WM_VSCROLL) or (Message.Msg = WM_HSCROLL) or
      (Message.msg = WM_Mousewheel)) then
  begin
    OldGridProc2(Message);
  end;
end;

procedure TForm1.Grid2WindowProc(var Message: TMessage);
begin
  OldGridProc2(Message);
  if ((Message.Msg = WM_VSCROLL) or (Message.Msg = WM_HSCROLL) or
     (Message.msg = WM_Mousewheel)) then
  begin
    OldGridProc1(Message);
  end;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
  OldGridProc1 := ListBox1.WindowProc;
  OldGridProc2 := ListBox2.WindowProc;
  ListBox1.WindowProc := Grid1WindowProc;
  ListBox2.WindowProc := Grid2WindowProc;
end;
Habe nur beim letzten Grid die Anzeige einer horizontalen ScrollBar aktiviert und den obigen Source ein kleines bisschen verändert.
  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 00:10 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