AGB  ·  Datenschutz  ·  Impressum  







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

Form verschieben

Ein Thema von Delphiturbo · begonnen am 9. Mai 2008 · letzter Beitrag vom 9. Mai 2008
Antwort Antwort
Delphiturbo
(Gast)

n/a Beiträge
 
#1

Form verschieben

  Alt 9. Mai 2008, 18:30
Hallo

wenn ich den Code in ein neues Projekt teste, funktioniert
aber wenn ich den Code in mein Programm teste, dann macht es nicht !

Was muss ich noch überprüfen ?
Delphi-Quellcode:
procedure TForm1.FormMouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
const
  SC_DRAGMOVE = $F012;
begin
  if Button = mbleft then
  begin
    ReleaseCapture;
    Form1.Perform(WM_SYSCOMMAND, SC_DRAGMOVE, 0);
  end;
end;
  Mit Zitat antworten Zitat
Benutzerbild von Fussball-Robby
Fussball-Robby

Registriert seit: 22. Okt 2007
Ort: Nähe Köln
1.063 Beiträge
 
Delphi 7 Enterprise
 
#2

Re: Form verschieben

  Alt 9. Mai 2008, 18:33
Die if-Abfrage ist unnötig, da du die Form sowieso nur mit der linken Maustaste bewegen kannst.
Delphi-Quellcode:
procedure TForm1.FormMouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  ReleaseCapture;
  Perform(WM_SYSCOMMAND, $F012, 0);
end;
Gehts so? Ansonsten: Hast du noch etwas anderes im OnMouseDown stehen?
Robert L.
Der folgende Satz ist richtig!
Der vorherige Satz ist falsch!

Paradox
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#3

Re: Form verschieben

  Alt 9. Mai 2008, 18:34
Besser
(Sender as TForm).Perform(WM_SYSCOMMAND, SC_DRAGMOVE, 0); Macht es garnichts, was Falches oder kommt ein Fehler?
Markus Kinzler
  Mit Zitat antworten Zitat
Delphiturbo
(Gast)

n/a Beiträge
 
#4

Re: Form verschieben

  Alt 9. Mai 2008, 18:46
Komisch. Es erscheint kein Fehler
aber mit dem Code von Fussball-Robby funktioniert
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#5

Re: Form verschieben

  Alt 9. Mai 2008, 18:52
Ich würde aber trotzdem den Sender auswerten.
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

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

Re: Form verschieben

  Alt 9. Mai 2008, 19:19
Zitat von mkinzler:
Besser
(Sender as TForm).Perform(WM_SYSCOMMAND, SC_DRAGMOVE, 0); Macht es garnichts, was Falches oder kommt ein Fehler?
Warum soll das besser sein als ohne "(Sender as TForm)"? Hier ist doch gar nicht beabsichtigt das der Sender verschoben wird sondern es soll in jedem Fall das TForm verschoben werden unabhängig davon wer der Sender ist.
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#7

Re: Form verschieben

  Alt 9. Mai 2008, 19:22
Sender ist doch die jeweilige Form. Wenn es mehrere Instanzen gibt oder wenn verschiedene Formen die selbe Methode verwenden, geht es so nicht mehr.
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

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

Re: Form verschieben

  Alt 9. Mai 2008, 20:28
das stimmt nicht. Wenn nichts davor steht, kommt das dem gleich als würde "Self." davor stehen und dann gilt es eben für die entsprechende Instanz.
Und Sender ist nicht zwangsläufig die Form. Hat man Beispielsweise ein Panel auf dem Form und weißt diesem die gleiche Mouse-Down-Methode zu will man ja nicht das Panel verschieben, das Panel auch nicht nach TForm casten sondern man will eben die Forminstanz zu der die Methode gehört verschieben.
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#9

Re: Form verschieben

  Alt 9. Mai 2008, 20:32
Wenn die Methode der gleichen Klasse angehört ja.
Markus Kinzler
  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 07:09 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