AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi Objekt zwischen zwei Listbox bewegen
Thema durchsuchen
Ansicht
Themen-Optionen

Objekt zwischen zwei Listbox bewegen

Ein Thema von poterp · begonnen am 15. Aug 2007 · letzter Beitrag vom 15. Aug 2007
Antwort Antwort
poterp

Registriert seit: 27. Mär 2005
175 Beiträge
 
#1

Objekt zwischen zwei Listbox bewegen

  Alt 15. Aug 2007, 13:19
hallo,
ich habe eine Anwendung mit mehrere Listboxen. Meine ziel ist es, sowohl die reihenfolge innerhalb ein Listbox ändern als auch objekte in andere Listbox ziehen. Reihenfolge Änderung Innerhalb ein listbox funktioniert aber Objekt in anderem Listboxen ziehen funktioniert nicht. hier ist meine quelle:
Delphi-Quellcode:
var
  Form3: TForm3;
// form level
   StartingPoint : TPoint;

implementation

{$R *.dfm} 
...............................
procedure TForm3.FormCreate(Sender: TObject);
begin
ListBox_strengths.Items.Add('ich');
ListBox_strengths.Items.Add('du');
ListBox_strengths.DragMode := dmAutomatic;
ListBox_themen.DragMode:= dmAutomatic;
ListBox_themen.Items.Add('mo');
ListBox_themen.Items.Add('no');
Listbox_themen.MultiSelect:=true;
end;

procedure TForm3.ListBox_themenDragDrop(Sender, Source: TObject; X,
  Y: Integer);
var
   DropPosition, StartPosition, I: Integer;
   DropPoint: TPoint;
   a: string;
 begin
    DropPoint.X := X;
   DropPoint.Y := Y;
   with Source as TListBox do
   begin
     StartPosition := ItemAtPos (StartingPoint,True) ;
     DropPosition := ItemAtPos(DropPoint,True) ;

     Items.Move(StartPosition, DropPosition) ;
   end;
    if Source is TListBox then
     begin
  for i := 0 to TListBox(Source).Items.Count-1 do
  if TListBox(Source).Selected[i] then
    a:= ListBox_themen.Items.Strings[i];
    ListBox_strengths.Items.Add(a);
 end;
end;

procedure TForm3.ListBox_themenDragOver(Sender, Source: TObject; X,
  Y: Integer; State: TDragState; var Accept: Boolean);
begin
   Accept := Source = ListBox_themen;
    if Source is TListBox then
    begin
 accept:= true;
   end;
end;
......................................................................
procedure TForm3.ListBox_strengthsDragDrop(Sender, Source: TObject; X,
  Y: Integer);

var
   DropPosition, StartPosition, I: Integer;
   DropPoint: TPoint;
begin
   DropPoint.X := X;
   DropPoint.Y := Y;
   with Source as TListBox do
   begin
     StartPosition := ItemAtPos (StartingPoint,True) ;
     DropPosition := ItemAtPos(DropPoint,True) ;

     Items.Move(StartPosition, DropPosition) ;
   end;
    if Source is TListBox then begin
  for i := 0 to TListBox(Source).Items.Count-1 do
  if TListBox(Source).Selected[i] then
  ListBox_strengths.Items.Add(TListBox(Source).Items[i]);
end;
end;

procedure TForm3.ListBox_strengthsDragOver(Sender, Source: TObject; X,
  Y: Integer; State: TDragState; var Accept: Boolean);
begin
    Accept := Source = ListBox_strengths;
     if Source is TListBox then
    begin
 accept:= true;
   end;
end;
onMouseDown von beide stehen: StartingPoint.X := X; StartingPoint.Y := Y;

weisst jemand, wo das Problem liegen kann?
grüß
poter
  Mit Zitat antworten Zitat
shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#2

Re: Objekt zwischen zwei Listbox bewegen

  Alt 15. Aug 2007, 13:32
Du kannst gleich nochmal neu anfangen.
Wähle im Delphi-Menü:
Datei -> Neu... -> Formulare -> Dialog mit zwei Listenfeldern
Und du hast eine Vorlage mit der ganzen Drag & Drop Funktionalität.
Andreas
  Mit Zitat antworten Zitat
Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#3

Re: Objekt zwischen zwei Listbox bewegen

  Alt 15. Aug 2007, 14:26
Auch hier gilt : braucht man so was nochmals dann unten auf "vererben" klicken. Dann braucht man seine gemachten Einstellungen/Änderungen nicht wieder komplett neu zu machen (Objektablage). Würde das von vorneherein als vererbt deklarieren, denn wer weiß ?
Gruß
Hansa
  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 06:42 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