![]() |
Welche Nachricht muss ich abfangen?
hi,
in den letzten Tagen habe ich gelernt u. begriffen wie man auf Nachrichten von Fenstern reagiert.- Jetzt muss ich auf das Maximieren von Form reagieren, sowie auf das Verkleinern. Steht irgendwo geschrieben welche Messages wann gesendet werden? danke - Grüße |
AW: Welche Nachricht muss ich abfangen?
Bei Microsoft in der MSDN Dokumentation mal geschaut?
Die WM_ Konstanten sollten da irgendwie zu finden sein denke ich. |
AW: Welche Nachricht muss ich abfangen?
Die Microsoft MSDN Doku habe ich mir intensiv angeschaut. Leider finde ich nichts was anzeigt die Form wurde maximiert oder verkleinert. Auch in Delphi 7 ist kein Ereignis zu finden.-
Microsoft Windows Programmierung ist und bleibt ein kryptisches Geheimnis für mich, komplizierter geht es nicht. :roll: Was ich auch noch machen wollte ist: Hier wird nach einem Resize der Form eine Neuberechnung des Bildes vorgenommen, leider auch, wenn das Fenster nur verschoben wurde. Kann man letzteres verhindern?
Delphi-Quellcode:
Ich habe noch einiges zu machen an diesem Spaß-Programm, aber ich lerne dazu ...
procedure WMEXITSIZEMOVE(var Message: TMessage); message WM_EXITSIZEMOVE;
. . . procedure TForm1.WMEXITSIZEMOVE(var Message: TMessage); begin inherited; Apfelmann1Click(self); //berechne das Bild neu end; Grüße |
AW: Welche Nachricht muss ich abfangen?
Moin...:P
Zitat:
Lade dir doch die Community Edition herunter mit den neuen Sprachfeatures wie z.B. Generics. :thumb: ![]() :wink: |
AW: Welche Nachricht muss ich abfangen?
Zitat:
Grüße |
AW: Welche Nachricht muss ich abfangen?
Zitat:
Aber: * Wie wichtig sind die Projekte für evt. Kunden? * Manche Komponenten müssen getauscht werden. (weil es sie schlicht nicht mehr gibt)... Analyse, welche Features die alten hatten, die damals nicht verfügbar waren. * Wie groß sind die Projekte? * DB Anbindung modernisieren (- BDE, + Firebird etc.) Wenn es nur "Spaßprojekte" sind, kann man mit der Umstellung auch viel lernen. :thumb: |
AW: Welche Nachricht muss ich abfangen?
Zitat:
Grüß |
AW: Welche Nachricht muss ich abfangen?
Zitat:
Auch die 64 Bit Version von Delphi (in der CE enthalten) kann noch Assembler, bloß halt nicht mehr als ASM Blöcke direkt an einer beliebigen Code Stelle, sondern immer als ganze Methode/Prozedur/Funktion. Hat was mit der Aufrufkonvention oder so zu tun. Auch die IDE der CE bietet gegenüber deinem D7 weitere Vorteile. Und falls du wissen wiollst, welche Nachrichten dein Programm alle bekommt: es gibt eine nicht visuelle ApplicationEvents Komponente, die kann man auf eine Form packen und dort einen Eventhandler erzeugen der alle Nachrichten sieht bevor die der eigentliche Empfänger sieht. Und das mit "Fenster verschieben löst auch ein Resize Event aus" könntest du behandeln, in dem du beim Programmstart die Fenstergröße merkst und im Resize Event prüfst, ob sich die überhaupt geändert hat. Falls ja musst du dir natürlich die neue Größe merken ;-) Grüße TurboMagic |
AW: Welche Nachricht muss ich abfangen?
Ja danke, ich werde mich damit nochmals beschäftigen.-
Zitat:
Grüße |
AW: Welche Nachricht muss ich abfangen?
Delphi-Quellcode:
Elegant ist das nicht, aber funktioniert.:roll:
procedure WMEXITSIZEMOVE(var Message: TMessage); message WM_EXITSIZEMOVE;
. . . Form1WidthAlt:=Form1.Width; Form1HeightAlt:=Form1.Height; . . . procedure TForm1.WMEXITSIZEMOVE(var Message: TMessage); begin If (Form1.Width<>Form1WidthAlt) or (Form1.Height<>Form1HeightAlt) then begin inherited; Apfelmann1Click(self); end; end; Jetzt muss ich noch auf Form1-Maximieren und Form1-Verkleinern reagieren, dann bin ich mit dem Programm fertig. Gruß |
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:29 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz