Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi Maximize/Restore Button (https://www.delphipraxis.net/10111-maximize-restore-button.html)

KyroxX 11. Okt 2003 20:28


Maximize/Restore Button
 
Benutze dazu:

Delphi-Quellcode:
procedure Tmain.maximize_bntClick(Sender: TObject);
var
  h:HWnd;
begin
  h:=handle;
  postmessage(h,WM_SYSCOMMAND,SC_MAXIMIZE,0):=not
  postmessage(h,WM_SYSCOMMAND,SC_RESTORE,0);
end;
sollte ds nicht eigentlich hinhauen?
Bekomme: "Left side cannot be assigned"

Alexander 11. Okt 2003 20:35

Re: Maximize/Restore Button
 
Was genau willst du erreichen?
Mach mal das not weg (was genau willst du damit bezwecken?)...
Oder meinst du das:
Delphi-Quellcode:
  not := postmessage(h,WM_SYSCOMMAND,SC_MAXIMIZE,0)
  postmessage(h,WM_SYSCOMMAND,SC_RESTORE,0);

nTE 11. Okt 2003 20:37

Re: Maximize/Restore Button
 
Du versuchst einer Funktion einen Wert zuzuweisen und das kann nicht klappen.

Das hier meine ich:
postmessage(h,WM_SYSCOMMAND,SC_MAXIMIZE,0):=not

btw, da fehlt ein ;


Ich glaube du müsstest für so einen Maximize/Restore-Button den WindowState der MainForm abfragen und ich glaube auch, dass du darüber so einen Button realisieren kannst, ganz ohne PostMessage.
Allerdings bin ich mir nicht 100% sicher verstanden zu haben was du genau machen willst, jedenfalls nicht aus deinem Code. :P

KyroxX 11. Okt 2003 20:42

Re: Maximize/Restore Button
 
re

Angenommen ich hab nen Button namens "Button1"
Der hat nen "onClick" event wo drin steht
postmessage(h,WM_SYSCOMMAND,SC_MAXIMIZE,0)

Ich will jetzt, das der, wenn ich da nochmal draufklicke, das macht:
postmessage(h,WM_SYSCOMMAND,SC_RESTORE,0);
um in den ursprünglichen Modus zurückzukehren.

Wär cool wenns da ne einfache lösung gaäb und p.s.:
Ich hab momentan nen Brett vorm Kopf :oops: :wall:

:duck:

nTE 11. Okt 2003 20:51

Re: Maximize/Restore Button
 
Vielleicht habe ich das auch ein wenig zu unauffällig geschrieben aber auf jeden Fall erwähnt.. naja Codebeispiel folgt:

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin
  if Form1.WindowState = wsMaximized then
    Form1.WindowState := wsNormal
  else
    Form1.WindowState := wsMaximized;
end;
Ich hoffe, dass es das ist was du machen willst, da du immernoch nicht klar ausdrückst was du machen willst (von der Funktionalität her).
Muss es denn unbedingt PostMessage sein?

KyroxX 11. Okt 2003 20:58

Re: Maximize/Restore Button
 
Hmm, das wars was ich brauchte ;)
THX :wink:

Aber was hast du eigentlich gegen post message? *grins*

8)

nTE 11. Okt 2003 21:00

Re: Maximize/Restore Button
 
Hehe, an sich nichts, aber solange Delphi ausreichende Möglichkeiten zur Verfügung stellt, würde ich nicht unbedingt auf API-Funktionen zurückgreifen. =)


Alle Zeitangaben in WEZ +1. Es ist jetzt 15:08 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