Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   WM_SIZE Handler Maximize, Minimize,... (https://www.delphipraxis.net/157354-wm_size-handler-maximize-minimize.html)

Dunkelbunt27 9. Jan 2011 12:20

AW: WM_SIZE Handler Maximize, Minimize,...
 
Ich weiß wo ich OnPaint finde ;D
Aber danke, für den Tipp.

[edit]Ich muss mich leider nochmal melden.
Das:
Delphi-Quellcode:
private
    { Private-Deklarationen }
    procedure WMSize(var Msg: TMessage); message WM_SIZE;
[...]
verträgt sich leider überhaupt nicht mit:
Delphi-Quellcode:
type
[...]
procedure WMExitSizeMove(var Message: TMessage); message WM_EXITSIZEMOVE;
Wenn ich beides schreibe, wirkt das ExitSizeMove nicht mehr, und das Fenster wird nicht neugezeichnet nach dem resizen.
Jemand ne Idee wie ich das lösen könnte?
Oder ob man beides verbinden kann?
[/edit]


[edit2]
Ich hab das ganze jetzt mit folgendem gelöst, jedoch fehlt noch eine Kleinigkeit:
Delphi-Quellcode:
procedure TForm1.FormPaint(Sender: TObject);
begin
case Form1.WindowState of
      wsMaximized:                              //maximiert
      begin
       [...]
      end;

      wsMinimized:                              //minimiert
      begin
        [...]
      end;

      wsNormal:
      begin
        [...]                                       //...
      end;
      else
      begin
        [...]                                       //...
      end;
end;
end;
Was fehlt ist, wenn ich das Fenster maximiere und dann auf Größe wiederherstellen klicke, wird nicht neu gezeichnet!
Weiß jemand was ich dazu machen muss?
[/edit2]

Dunkelbunt27 10. Jan 2011 15:04

AW: WM_SIZE Handler Maximize, Minimize,...
 
(Es sind jetzt mehr als 24h vergangen, also muss ich einen neuen Post schreiben.)

Mir fehlt eine Prozedur oder Eigenschaft die ich benutzen kann um ein Ereignis auszulösen, wnen ich das Programm erst maximiere und dann auf Größe wiederherstellen, Verkleinern, oder wie es sonst noch in den Windows versionen heißt. Es ist die Schaltfläche zwischen maximieren und minimieren.
(Ich hoffe jeder weiß was ich meine)

Es wäre klasse, wenn jemand eine Antwort wüsste!

DeddyH 10. Jan 2011 15:08

AW: WM_SIZE Handler Maximize, Minimize,...
 
Delphi-Quellcode:
type
  TForm1 = class(TForm)
  private
    { Private-Deklarationen }
    procedure WMSysCommand(var Msg: TWMSysCommand); message WM_SYSCOMMAND;
  public
    { Public-Deklarationen }
  end;

...

procedure TForm1.WMSysCommand(var Msg: TWMSysCommand);
begin
  inherited;
  if Msg.CmdType = SC_RESTORE then
    ShowMessage('Hallo');
end;

Luckie 10. Jan 2011 15:29

AW: WM_SIZE Handler Maximize, Minimize,...
 
Was willst du eigentlich erreichen? Jedes mal wenn ein neu zeichnen erforderlich ist, wird OnPaint ausgelöst.

Dunkelbunt27 10. Jan 2011 17:11

AW: WM_SIZE Handler Maximize, Minimize,...
 
Danke!
DeddyH :thumb: funktioniert.

Zitat:

Was willst du eigentlich erreichen? Jedes mal wenn ein neu zeichnen erforderlich ist, wird OnPaint ausgelöst.
Richtig, aber beim "Restore" der Größe ist dies aus irgendeinem Grund nicht passiert, deshalb die Frage.

FG Dunkelbunt


Alle Zeitangaben in WEZ +1. Es ist jetzt 12:22 Uhr.
Seite 2 von 2     12   

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