Delphi-PRAXiS
Seite 1 von 3  1 23      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi 2 ListBoxen verkuppeln (Beim Scrollen) (https://www.delphipraxis.net/9311-2-listboxen-verkuppeln-beim-scrollen.html)

Matze 23. Sep 2003 17:16


2 ListBoxen verkuppeln (Beim Scrollen)
 
Hi Leute!

Ja, wie mache ich das?
Ich habe 2 ListBoxen, die jeweils gleich viele Items haben. Wenn ich jetzt nun an der einen LB rumscrolle, dann soll die 2. auch mitscrollen, sodass ich die Einträge immer auf gleicher Höhe habe.

Ich hoffe, ihr versteht meine Frage. ;)

Illuminator-23-5 23. Sep 2003 17:17

Re: 2 ListBoxen verkuppeln (Beim Scrollen)
 
versuch mal 'ne TListView, statt 2 Listboxen!

Matze 23. Sep 2003 18:22

Re: 2 ListBoxen verkuppeln (Beim Scrollen)
 
Danke Illu.

Jetzt gibt's nur noch ein Problem: Ich hab noch nie mit einer ListView gearbeitet.

Ich weiß nicht, wer es war, aber irgendjemand hat hier mal so einen HexViewer programmiert. Der wurde auch mit 3 ListBoxen erstellt.

Matze 23. Sep 2003 18:25

Re: 2 ListBoxen verkuppeln (Beim Scrollen)
 
So geht das leider nicht:

Delphi-Quellcode:
procedure TForm1.ListBox1Click(Sender: TObject);
begin
  ListBox2.Selected[ListBox1.ItemIndex]:=true;
end;

Alexander 23. Sep 2003 18:29

Re: 2 ListBoxen verkuppeln (Beim Scrollen)
 
neue Frage, neuer Thread ;-)
Nutzt du jetzt statt den beiden Listboxen eine Listview?
Nun ja da brauchst du das ja gar nicht, du willst doch das die ganze Zeile markiert wird oder wie?
Da gibt es eine Eigenschaft. ICh glaube RowSelect oder so heißt die, probier es mal aus..

Matze 23. Sep 2003 18:32

Re: 2 ListBoxen verkuppeln (Beim Scrollen)
 
Danke Alex. Aber ich bin immer noch bei meiner alten Frage, wie ich das mit einer ListBox (besser gesagt: mit 2 ListBoxen) machen soll. :gruebel:

Alexander 23. Sep 2003 19:00

Re: 2 ListBoxen verkuppeln (Beim Scrollen)
 
mhm es gibt die WM WM_MOUSEWHEEL, damit könnte man vielleicht was anfangen.
Musst de mal schauen, ich habe jetzt leider keine Zeit mehr mir das genauer anzukucken..
http://msdn.microsoft.com/library/de...MOUSEWHEEL.asp

Matze 23. Sep 2003 19:23

Re: 2 ListBoxen verkuppeln (Beim Scrollen)
 
Danke, aber das muss doch irgendwie anders gehen.

Ich glaube Spider war das mit dem HexViewer, bin mir aber nicht sicher. Falls du es warst, Spider, dann melde dich bitte.

toms 23. Sep 2003 19:32

Re: 2 ListBoxen verkuppeln (Beim Scrollen)
 
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;

Matze 24. Sep 2003 19:40

Re: 2 ListBoxen verkuppeln (Beim Scrollen)
 
Hi! Danke, nur bringt er hier einen fehler:

Delphi-Quellcode:
  if ((Message.Msg = WM_VSCROLL) or (Message.Msg = WM_HSCROLL) or
      Message.msg = WM_Mousewheel)) then
Wie ist das? Geht das auch, wenn ich nur auf die Scrollbar an der Seite der ListBox klicke, oder nur, wenn ich am Mausrad drehe? :gruebel:


Alle Zeitangaben in WEZ +1. Es ist jetzt 00:55 Uhr.
Seite 1 von 3  1 23      

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