AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Delphi Prozedur bei BEWEGUNG / VERSCHIEBUNG eines Formulars starten
Thema durchsuchen
Ansicht
Themen-Optionen

Prozedur bei BEWEGUNG / VERSCHIEBUNG eines Formulars starten

Ein Thema von rennkuckuck · begonnen am 29. Mär 2006 · letzter Beitrag vom 29. Mär 2006
Antwort Antwort
rennkuckuck

Registriert seit: 26. Okt 2005
8 Beiträge
 
Delphi 2005 Personal
 
#1

Prozedur bei BEWEGUNG / VERSCHIEBUNG eines Formulars starten

  Alt 29. Mär 2006, 08:38
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
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

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

Re: Prozedur bei BEWEGUNG / VERSCHIEBUNG eines Formulars sta

  Alt 29. Mär 2006, 08:41
Schon mal auf der Ereigniossseite des Objektinspektors für das Formular geguckt?
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von Matze
Matze
(Co-Admin)

Registriert seit: 7. Jul 2003
Ort: Schwabenländle
14.929 Beiträge
 
Turbo Delphi für Win32
 
#3

Re: Prozedur bei BEWEGUNG / VERSCHIEBUNG eines Formulars sta

  Alt 29. Mär 2006, 08:51
Hi

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;
  Mit Zitat antworten Zitat
rennkuckuck

Registriert seit: 26. Okt 2005
8 Beiträge
 
Delphi 2005 Personal
 
#4

Re: Prozedur bei BEWEGUNG / VERSCHIEBUNG eines Formulars sta

  Alt 29. Mär 2006, 12:01
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
procedure WMMOVE(var Msg: TWMMove); message WM_MOVE; dann die bewegung des formulars festestelle?
habe nocht nichts mit message gemacht.
gruß rennkuckuck
  Mit Zitat antworten Zitat
Benutzerbild von konda
konda

Registriert seit: 20. Dez 2005
253 Beiträge
 
Turbo Delphi für Win32
 
#5

Re: Prozedur bei BEWEGUNG / VERSCHIEBUNG eines Formulars sta

  Alt 29. Mär 2006, 13:05
Versuch doch mal mit Mousedown und Mousemove so eine Art Ereignis zu erzeugen.
"Nichts ist schwieriger als den Gedankengang eines anderen nachzuvollziehen"

Gruß Konda
  Mit Zitat antworten Zitat
Benutzerbild von Matze
Matze
(Co-Admin)

Registriert seit: 7. Jul 2003
Ort: Schwabenländle
14.929 Beiträge
 
Turbo Delphi für Win32
 
#6

Re: Prozedur bei BEWEGUNG / VERSCHIEBUNG eines Formulars sta

  Alt 29. Mär 2006, 13:15
Hi

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
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

// irgendwas steht, kannst du deinen Code ausführen, der beim Verschieben ausgeführt werden soll.
  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 11: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