Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Mehrere Listboxen zusammen scrollen (https://www.delphipraxis.net/152423-mehrere-listboxen-zusammen-scrollen.html)

theroad 22. Jun 2010 12:43

Mehrere Listboxen zusammen scrollen
 
Hallo,

Ich habe auf meinem Form 5 listboxen ich will jetzt wenn man in einer Box Scrollt das sich die anderen 4 mit nach unten oder oben scrollen.

Wie kann ich das bewerkstelligen?

Vielen Dank im Voraus

MfG
TheRoad

DeddyH 22. Jun 2010 12:46

AW: Mehrere Listboxen zusammen scrollen
 
Das hatten wir schon einmal hier.

theroad 22. Jun 2010 17:02

AW: Mehrere Listboxen zusammen scrollen
 
Diesen Beitrag hatte ich schon gefunden da finde ich aber keine wirkliche lösung raus.

Es geht dann da plötzlich um ein StringGrid und ich schaffe es nicht so umzuschreiben das ich es auch für die ListBox nutzen kann.

DeddyH 22. Jun 2010 17:20

AW: Mehrere Listboxen zusammen scrollen
 
Ich habe einmal ein Minimalbeispiel erstellt (nur ein Formular mit 2 Listboxen, es wird auch nur das vertikale Scrollen ausgewertet):
Delphi-Quellcode:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
  TListBox = class(StdCtrls.TListBox)
  private
    FChildListBox: TListBox;
    procedure WMVScroll(var Msg: TMessage); message WM_VSCROLL;
  public
    property ChildListBox: TListBox read FChildListBox write FChildListBox;
  end;

  TForm1 = class(TForm)
    ListBox1: TListBox;
    ListBox2: TListBox;
    procedure FormCreate(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

{ TListBox }

procedure TListBox.WMVScroll(var Msg: TMessage);
begin
  inherited;
  if Assigned(FChildListBox) then
    SendMessage(FChildListBox.Handle,Msg.Msg,Msg.WParam,Msg.LParam);
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
  ListBox1.ChildListBox := ListBox2;
end;

end.
[edit] Sollen die Listboxen allerdings wechselseitig scrollen, sind ein paar Verrenkungen nötig (siehe Beispiel bei den Schweizern). [/edit]


Alle Zeitangaben in WEZ +1. Es ist jetzt 09:55 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