Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: WinAPI и системное программирование > Проблема методов скрытия программы при минимизации


Автор: Archon7th 4.5.2005, 11:47
я использую:

Trafic.dpr
Код

...
uses
  Windows
...
var
  ExtendedStyle : integer;
...
    ExtendedStyle:=GetWindowLong(application.Handle, GWL_EXSTYLE);
    SetWindowLong(Application.Handle, GWL_EXSTYLE,
    ExtendedStyle or WS_EX_TOOLWINDOW AND NOT WS_EX_APPWINDOW);
...


Код

procedure TfrmMain.FormPaint(Sender: TObject);
begin
  ShowWindow(application.Handle, SW_HIDE);
end;


всё работает так как мне нужно, до того момента пока я не сверну окошко ....

visible:=false - меня не устраивает

Автор: Rouse_ 4.5.2005, 13:33
Код

unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms;

type
  TForm1 = class(TForm)
    procedure FormCreate(Sender: TObject);
  private
    procedure DoRestore(Sender: TObject);
    procedure WMSysCommand(var Message: TWMSysCommand); message WM_SYSCOMMAND;
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure SetToolApp;
begin
  ShowWindow(Application.Handle, SW_HIDE);
  SetWindowLong(Application.Handle, GWL_EXSTYLE,
    GetWindowLong(Application.Handle, GWL_EXSTYLE)
    or WS_EX_TOOLWINDOW and not WS_EX_APPWINDOW);
end;

procedure ResetToolApp;
begin
  SetWindowLong(Application.Handle, GWL_EXSTYLE,
    GetWindowLong(Application.Handle, GWL_EXSTYLE)
    and not WS_EX_TOOLWINDOW or WS_EX_APPWINDOW);
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
  SetToolApp;
  Application.OnRestore := DoRestore;
end;


procedure TForm1.WMSysCommand(var Message: TWMSysCommand);
begin
  if Message.CmdType = SC_MINIMIZE then ResetToolApp;
  inherited;
end;

procedure TForm1.DoRestore(Sender: TObject);
begin
  SetToolApp;
end;

end.

Автор: Archon7th 4.5.2005, 14:03
thx ... маленький баг появился, но я справился ... всё работает ...

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)