Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi Prozedur bei BEWEGUNG / VERSCHIEBUNG eines Formulars starten (https://www.delphipraxis.net/66397-prozedur-bei-bewegung-verschiebung-eines-formulars-starten.html)

rennkuckuck 29. Mär 2006 08:38


Prozedur bei BEWEGUNG / VERSCHIEBUNG eines Formulars starten
 
hallo,
weis jemand bei welchem ereignis ich eine prozedur starten muss dass diese ausgeführt wird wenn ich mein formular bewege- also an irdent eine andere stelle auf dem bildschirm schiebe???
(bitte bedenkt bei euren antoorten-bin noch anfänger) :?
ich habe schon in der delphi hilfe gesucht aber nichts gefunden wo ich denke dass könnte es sein.
danke schonmal für antworten.
gruß rennkuckck

Luckie 29. Mär 2006 08:41

Re: Prozedur bei BEWEGUNG / VERSCHIEBUNG eines Formulars sta
 
Schon mal auf der Ereigniossseite des Objektinspektors für das Formular geguckt?

Matze 29. Mär 2006 08:51

Re: Prozedur bei BEWEGUNG / VERSCHIEBUNG eines Formulars sta
 
Hi

Zitat:

Zitat von Luckie
Schon mal auf der Ereigniossseite des Objektinspektors für das Formular geguckt?

Mir ist kein Ereignis des Formulares bekannst, das auf's Verschieben reagiert. Manuell ginge es sicher, indem man die Nachricht WM_MOVE abfängt. Doch müsste es auch gehen, wenn man die Eigenschaft Delphi-Referenz durchsuchenAlign auf alCustom setzt (Falls man das Formular nicht verschieben können soll).

Randbemerkung: Falls man auch die Größe des Formulas ebenfallsnicht ändern soll, musst du Delphi-Referenz durchsuchenBorderStyle auf bsSingle stellen.


Soll man das Formular weiterhin verschieben können, musst du imho über MW_MOVE gehen:

Delphi-Quellcode:
procedure WMMOVE(var Msg: TWMMove); message WM_MOVE;

// ...

procedure TForm1.WMMOVE(var Msg: TWMMove);
begin
  inherited;
  // Hier eine prozedur ausführen
end;

rennkuckuck 29. Mär 2006 12:01

Re: Prozedur bei BEWEGUNG / VERSCHIEBUNG eines Formulars sta
 
hallo,
danke schonmal.
in der ereignisseite ahbe ich schon geguckt. und leider nix gefunden.
@matze: ich versteh deine antwort leider nicht so.
also es soll weiterhin möglich sein das formular zu verschieben und in der größe zu ändern.
ich versteh nicht wie ich mit dem
Delphi-Quellcode:
procedure WMMOVE(var Msg: TWMMove); message WM_MOVE;
dann die bewegung des formulars festestelle?
habe nocht nichts mit message gemacht.
gruß rennkuckuck

konda 29. Mär 2006 13:05

Re: Prozedur bei BEWEGUNG / VERSCHIEBUNG eines Formulars sta
 
Versuch doch mal mit Mousedown und Mousemove so eine Art Ereignis zu erzeugen. :gruebel:

Matze 29. Mär 2006 13:15

Re: Prozedur bei BEWEGUNG / VERSCHIEBUNG eines Formulars sta
 
Hi

Zitat:

Zitat von rennkuckuck
@matze: ich versteh deine antwort leider nicht so.
also es soll weiterhin möglich sein das formular zu verschieben und in der größe zu ändern.
ich versteh nicht wie ich mit dem
Delphi-Quellcode:
procedure WMMOVE(var Msg: TWMMove); message WM_MOVE;
dann die bewegung des formulars festestelle?
habe nocht nichts mit message gemacht.

Dann hier mal die ganze Beispielunit:

Delphi-Quellcode:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs;

type
  TForm1 = class(TForm)
  private
    { Private-Deklarationen }
    procedure WMMOVE(var Msg: TWMMove); message WM_MOVE;
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.WMMOVE(var Msg: TWMMove);
begin
  inherited;
  // irgendwas
end;

end.
Die Procedure WMMOVE wird während des Verschiebens des Formulars ausgelöst. Dort, wo

Delphi-Quellcode:
// irgendwas
steht, kannst du deinen Code ausführen, der beim Verschieben ausgeführt werden soll.


Alle Zeitangaben in WEZ +1. Es ist jetzt 13:59 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