AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein 2 Listboxen gleichzeitig bearbeiten
Thema durchsuchen
Ansicht
Themen-Optionen

2 Listboxen gleichzeitig bearbeiten

Ein Thema von maluprog · begonnen am 27. Sep 2010 · letzter Beitrag vom 28. Sep 2010
 
maluprog

Registriert seit: 20. Okt 2009
Ort: Wildau
19 Beiträge
 
Delphi 6 Professional
 
#5

AW: 2 Listboxen gleichzeitig bearbeiten

  Alt 27. Sep 2010, 17:17
Hallo Fabian,

habe komplett nochmal überarbeitet:
Delphi-Quellcode:
procedure TFMain.MoveUpActionUpdate(Sender: TObject);
var
  at: TListBox;
begin
  with Sender as TAction do
  begin
    at := ActiveControl as TListBox;
    Enabled := at.ItemIndex > 0;
  end;
end;

procedure TFMain.MoveUpActionExecute(Sender: TObject);
var
  at: TListBox;
begin
  with Sender as TAction do
    at := ActiveControl as TListBox;
  with at do
    Items.Exchange(ItemIndex, Pred(ItemIndex));
end;

procedure TFMain.ListBox1ContextPopup(Sender: TObject; MousePos: TPoint;
  var Handled: Boolean);
begin
  with Sender as TListBox do
    ItemIndex := ItemAtPos(MousePos, False)
end;

procedure TFMain.ListBox1DragDrop(Sender, Source: TObject; X, Y: Integer);
var
  index: Integer;
begin
  with Sender as TListBox do
  begin
    index := ItemAtPos(Point(X, Y), True);
    Items.Move(ItemIndex, index);
  end;
end;

procedure TFMain.ListBox1DragOver(Sender, Source: TObject; X, Y: Integer;
  State: TDragState; var Accept: Boolean);
var
  index: Integer;
begin
  with Sender as TListBox do
    index := ItemAtPos(Point(X, Y), True);
  Accept := (Sender = Source) and (index > -1);
end;
Damit kann ich per Mouse eine bestimmte Zeile in der Listbox1 selectieren und dann an einer anderen Stelle in der Listbox1 wieder einordnen. Das funktioniert aufwärts und abwärts.
Mit nachfolgendem kann ich dann ebenfalls dieselbe Zeile in der Listbox2 selectieren.
Delphi-Quellcode:
procedure TFMain.ListBox1Click(Sender: TObject);
begin
        if not ( Listbox1.ItemIndex = Listbox1.Count - 0 ) then
        begin
         Listbox2.ItemIndex := Listbox1.ItemIndex;
        end;
end;
Ich möchte nichts weiter, dass, wenn ich in der Listbox1 - was ja funktioniert - zBsp. von zeile 5 nach 2 oder von zeile 2 nach 10 vershiebe auch in der Listbox2 passiert. Das selectieren klappt ja aber beim verschieben futzt es nicht, auch wenn ich der Listbox2 dieselben Parameter analog der Listbox1 zuordnet.
Im Klartext zBsp.: Verschiebe Box1 von 3 nach 5, dann soll gleichzeitig Box2 auch von 3 nach 5.
Ich glaube jetzt ist es eindeutig und Du kannst damit etwas anfangen. Jedoch muss ListBox1DragOver und ListBox1DragDrop bleiben sonst gehts nicht.

mfg

ml
  Mit Zitat antworten Zitat
 


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 20:19 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-2025 by Thomas Breitkreuz