AGB  ·  Datenschutz  ·  Impressum  







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

mehrere Objekte mit perform verschieben

Ein Thema von Tobinator · begonnen am 1. Feb 2010 · letzter Beitrag vom 2. Feb 2010
Antwort Antwort
Tobinator

Registriert seit: 18. Mai 2008
Ort: Cottbus
53 Beiträge
 
#1

mehrere Objekte mit perform verschieben

  Alt 1. Feb 2010, 16:50
Hi,

ich möchte mir einen kleinen Reportdesigner bauen, auf dem ich unter anderem mehrere Objekte auswählen und verschieben kann. Ich kann schon mehrere Objekte auswählen und einzelne verschieben. Mit mehreren klappts aber noch nicht. Ich hab mit auf einem Testformular mal zwei Buttons hingepackt und wollte die beide verschieben.

Mein Versuch:

Delphi-Quellcode:
procedure TForm1.Button1MouseMove(Sender: TObject; Shift: TShiftState; X,
  Y: Integer);
begin
  ReleaseCapture;
  if ssleft in Shift then
  begin
    Button1.Perform(WM_SYSCOMMAND,$F012,0);
    Button2.Perform(WM_SYSCOMMAND,$F012,0);
  end;
end;
Da wird aber nur der erste Button verschoben. Kann mir einer helfen??

PS: Ich will am ende nicht nur einfach Button2 um die selbe Differenz wie Button1 verschieben, weil ich ja schon wärend dem Verschieben sehen möchte, wo die Objete landen.

Danke schonmal
Tobias
  Mit Zitat antworten Zitat
Tobinator

Registriert seit: 18. Mai 2008
Ort: Cottbus
53 Beiträge
 
#2

Re: mehrere Objekte mit perform verschieben

  Alt 2. Feb 2010, 21:10
keiner eine Idee??
Tobias
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#3

Re: mehrere Objekte mit perform verschieben

  Alt 2. Feb 2010, 21:12
mit Perform wirst du da schlechte Chancen haben da Perform erst zurück kehrt wenn das verschieben abgeschlossen ist (wenn ich mich recht entsinne).
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#4

Re: mehrere Objekte mit perform verschieben

  Alt 2. Feb 2010, 21:46
Ich wäre gar nicht auf die Idee gekommen mit der Methode Perform zu versuchen was zu verschieben. Warum änderst du nicht einfach die Top und Left Eigenschaften?
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#5

Re: mehrere Objekte mit perform verschieben

  Alt 2. Feb 2010, 21:51
Perform hat den Vorteil das es durch Verwendung der Systemmessage die Systemeinstellungen zur Anzeige von Fenstern beim verschieben verwendet. Wenn man einfach die Left und Top Koordinaten ändert, ist der Inhalt der Fenster die ganze Zeit sichtbar selbst wenn im System eingestellt ist das nur die Rahmen der Fenster sichtbar sein sollen.
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
Tobinator

Registriert seit: 18. Mai 2008
Ort: Cottbus
53 Beiträge
 
#6

Re: mehrere Objekte mit perform verschieben

  Alt 2. Feb 2010, 21:53
also Top und Left zu verändern ist mir ehrlichgesagt zu aufwendig, aber wenn es nicht anders geht, dann werde ich wohl nicht drum herum kommen.
Kann mir einer erklären (oder einen Link geben) wie Perform funktioniert, also ob man da irgendwie eingreifen kann um die trotzdem so zu verschieben?
Also Top und Left würde ich wirklich nur als letzte Lösung nehmen wollen...
Tobias
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#7

Re: mehrere Objekte mit perform verschieben

  Alt 2. Feb 2010, 21:54
Zitat von SirThornberry:
Perform hat den Vorteil das es durch Verwendung der Systemmessage die Systemeinstellungen zur Anzeige von Fenstern beim verschieben verwendet. Wenn man einfach die Left und Top Koordinaten ändert, ist der Inhalt der Fenster die ganze Zeit sichtbar selbst wenn im System eingestellt ist das nur die Rahmen der Fenster sichtbar sein sollen.
OK, wieder was gelernt. Aber anscheinend hier nicht möglich.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Tobinator

Registriert seit: 18. Mai 2008
Ort: Cottbus
53 Beiträge
 
#8

Re: mehrere Objekte mit perform verschieben

  Alt 2. Feb 2010, 22:14
ich hab übrigens in anderen Foren die selbe Frage gestellt
Delphiforum
Delphitreff

Also wenn ich ne entgültige Lösung finde werde ich sie überall nochmal posten
Tobias
  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 02:45 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