Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailem C++ WinAPI - zachycení minimalizace okna před vykonáním

Zdravím, chtěl bych se zeptat, jak lze přerušit minimalizaci okna. Potřeboval bych, aby se při stisknutí min. tlačítka objevil dotaz, zda se okno má opravdu minimalizovat.
Dotaz pomocí messageboxu není problém. Problém je právě s tou minimalizací, kterou nevím jak udělat, jelikož WM_SIZE se posílá až po minimalizaci.

Děkuji za jakoukoliv pomoc.

Předmět Autor Datum
Ak dokážeš odchytávať systémové správy, potom je to jednoduché... message.Msg == 0x0112 ) // WM_SYS…
pme 17.10.2016 18:26
pme
Díky, potřeboval jsem znát právě tu zprávu WM_SYSCOMMAND.
rgs 17.10.2016 18:33
rgs
V Delphi by to vyzeralo nejak takto: unit Unit1; interface uses Winapi.Windows, Winapi.Messages, Sy… poslední
pme 17.10.2016 19:02
pme

V Delphi by to vyzeralo nejak takto:

unit Unit1;

interface

uses
  Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
  Vcl.Controls, Vcl.Forms, Vcl.Dialogs;

type
  TForm1 = class(TForm)
    procedure WndProc(var Msg : TMessage); override;
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

{ TForm1 }

procedure TForm1.WndProc(var Msg: TMessage);
begin
  if Msg.Msg = WM_SYSCOMMAND then
    if Msg.WParam =sc_Minimize then
    begin
      if Application.MessageBox(
			'Naozaj chceš minimalizovať okno?',
			'Potvrdenie',
			MB_YESNO Or MB_ICONQUESTION) = IDNO then Exit
    end;
  inherited;
end;

end.

Zpět do poradny Odpovědět na původní otázku Nahoru