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 Cannot change Visible in OnShow or OnHide (https://www.delphipraxis.net/96784-cannot-change-visible-onshow-onhide.html)

Pluto 30. Jul 2007 23:31


Cannot change Visible in OnShow or OnHide
 
Hallo,
ich versuche die Windows Message WM_Size abzufangen, dann das Fenster auf
nicht visible zu setzen, speziellen Code auszuführen und dann das Fenster
wieder sichtbar zu machen. Dazu folgenden Code:
Delphi-Quellcode:
type
  TForm1 = class(TForm)
  private
    { Private declarations }
    procedure WMSize(var Message: TWMSize); message WM_SIZE;
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

{ TForm1 }

procedure TForm1.WMSize(var Message: TWMSize);
begin
  try
    Visible := false;
    ShowMessage('Message WM_Size');
  finally
    Visible := true;
  end;
  inherited;
end;
Beim Start des Programmes verschwindet Form1,
ShowMessage wird angezeigt, soweit ok.
Klick auf OK von dem ShowMessage Fenster bringt aber dann
Fehlermeldung:
"Cannot change Visible in OnShow or OnHide"

Wo liegt mein Fehler?

Luckie 30. Jul 2007 23:43

Re: Cannot change Visible in OnShow or OnHide
 
An dieser Stelle kannst du die Sichtbarkeit des Fenster nicht ändern. Macht dort auch wenig Sinn, denn WM_SIZE wird im OnShow aufgerufen, um die Fenstergröße zu bestimmen / setzen. Wenn du eine Tür aufmachst, kannst du sie auch nicht gleichzeitig wieder zu machen.


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