AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein WM_SIZE Handler Maximize, Minimize,...
Thema durchsuchen
Ansicht
Themen-Optionen

WM_SIZE Handler Maximize, Minimize,...

Ein Thema von Dunkelbunt27 · begonnen am 9. Jan 2011 · letzter Beitrag vom 10. Jan 2011
Antwort Antwort
Seite 2 von 2     12   
Benutzerbild von Dunkelbunt27
Dunkelbunt27

Registriert seit: 10. Aug 2010
232 Beiträge
 
Delphi XE Professional
 
#11

AW: WM_SIZE Handler Maximize, Minimize,...

  Alt 9. Jan 2011, 12:20
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]

Geändert von Dunkelbunt27 ( 9. Jan 2011 um 15:17 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Dunkelbunt27
Dunkelbunt27

Registriert seit: 10. Aug 2010
232 Beiträge
 
Delphi XE Professional
 
#12

AW: WM_SIZE Handler Maximize, Minimize,...

  Alt 10. Jan 2011, 15:04
(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!
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.544 Beiträge
 
Delphi 11 Alexandria
 
#13

AW: WM_SIZE Handler Maximize, Minimize,...

  Alt 10. Jan 2011, 15:08
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;
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

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

AW: WM_SIZE Handler Maximize, Minimize,...

  Alt 10. Jan 2011, 15:29
Was willst du eigentlich erreichen? Jedes mal wenn ein neu zeichnen erforderlich ist, wird OnPaint ausgelöst.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von Dunkelbunt27
Dunkelbunt27

Registriert seit: 10. Aug 2010
232 Beiträge
 
Delphi XE Professional
 
#15

AW: WM_SIZE Handler Maximize, Minimize,...

  Alt 10. Jan 2011, 17:11
Danke!
DeddyH 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
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


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 01:17 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