![]() |
WM_SIZE Handler Maximize, Minimize,...
Hallo Delphi Praxis,
vor kurzem hat man mir die Seite ![]() Jetzt möchte ich die Ereignisse 1) Fenster maximieren, 2) Fenster minimieren, 3) Fenstergröße wiederherstellen und 4) Fenster neu laden (aus der Taskleiste) erstellen. Size_Maximized, Size_Minimized, Size_Rerstored ... müsste ich eigentlich verwenden können. Ich kenne mich damit noch nicht sehr gut aus und habe Probleme die richtige procedure deklarierung im type Teil der Form zu finden. Ich hab es mit folgendem veruscht:
Delphi-Quellcode:
Ich bekomme beim kompilieren zahlreiche Fehlermeldungen und nichts funktioniert.
type
TForm1 = class(TForm) procedure WMSizeMaximized(var Message: TMessage); message WM_SIZE; [...] procedure TSchreibmaschine.WMSizeMaximized(var Message: TMessage); begin neuzeichnen; end; Was ich suche ist jemand der von WM_Size ahnung hat und mir erklären kann, wie ich es richtig benutzen kann. Ich möchte wissen wie man das jeweilige im Quelltext schreibt, ich weiß z.B. das man:
Delphi-Quellcode:
so schreibt, bei den anderen habe ich leider keine Ahnung.
procedure WMSizeMaximized(var Message: TMessage); message WM_SIZE;
Ich hoffe ihr könnt mir helfen, FG Dunkelbunt |
AW: WM_SIZE Handler Maximize, Minimize,...
Zitat:
|
AW: WM_SIZE Handler Maximize, Minimize,...
Häng die Deklaration in den private Teil und vergiss inherited nicht.
|
AW: WM_SIZE Handler Maximize, Minimize,...
Liste der Anhänge anzeigen (Anzahl: 1)
Natürlich nicht,
hier die Fehlermeldung (es kommt bei genauer betrachtung 4x dieselbe). |
AW: WM_SIZE Handler Maximize, Minimize,...
Zitat:
Könntest du mir das mal am Beispiel erklären, oder am besten kurz im Quelltextform schreiben? wäre ganz lieb |
AW: WM_SIZE Handler Maximize, Minimize,...
klingt nach einem Fehler in neuzeichnen;
|
AW: WM_SIZE Handler Maximize, Minimize,...
Wie leitet man denn normalerwiese das Ereignis ein, wenn das Fenster vergrößert wird, das Grundgerüst dazu müsste doch jedesmal gleich sein, oder?
Das zeichnen funktioniert eigentlich, es ist einfach übernommen, da bei alles anderen Schritten im Programm, wie resizen, ... läuft es problemlos ab. [edit] Wenn ich fogendes schreibe:
Delphi-Quellcode:
bekomme ich folgenden Fehler:
procedure WMSizeMaximized(var Message: TMessage); message WM_SIZE;
procedure WMSizeMinimized(var Message: TMessage); message WM_SIZE;
Code:
[/edit]
[DCC Fehler] Schreibunit.pas(22): E2140 Doppelter Botschaftsmethoden-Index
|
AW: WM_SIZE Handler Maximize, Minimize,...
Delphi-Quellcode:
Aber warum nutzt du nicht OnPaint, um festzustellen, ob neu gezeichnet werden muss oder nicht?
type
TForm1 = class(TForm) Label1: TLabel; private { Private declarations } procedure WMSize(var Msg: TMessage); message WM_SIZE; public { Public declarations } end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.WMSize(var Msg: TMessage); begin case Msg.WParam of SIZE_MAXIMIZED: Label1.Caption := 'Maximiert'; SIZE_MINIMIZED: Label1.Caption := 'Minimiert'; SIZE_RESTORED: Label1.Caption := 'Wiederhergestellt'; end; end; |
AW: WM_SIZE Handler Maximize, Minimize,...
Zitat:
[edit] Danke, die Size Methode funktioniert super! Warum komm ich von alleine nie auf den richtigen Weg... Naja, dazu fragt man ja ;) [/edit] |
AW: WM_SIZE Handler Maximize, Minimize,...
Schon mal in die Ereignispalette des Objektinspektors deines Formulares geguckt?
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:56 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 by Thomas Breitkreuz