![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как сделать мою форму позади всех? [D6, Win95/98, WinME, NT4, Win2k, WinXP]
NikNet © (2005-09-26 16:47:00)А также как сделать что бы при сворачиваний
сворачивоалсь не в TaskBar?
umbra (2005-09-26 19:05:00) [21]Принцип такой (спасибо aplet за информацию):
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 = class(TForm)
private
{ Private declarations }
procedure SysCommand(var Msg: TWMSysCommand); message WM_SYSCOMMAND;
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
{ TForm1 }
procedure TForm1.SysCommand(var Msg: TWMSysCommand);
begin
if (Msg.CmdType <> SC_MINIMIZE) and (Msg.CmdType <> SC_RESTORE) then
inherited;
if Msg.CmdType = SC_MINIMIZE then
begin
ClientHeight := 0;
Width := 50;
Left := 0;
Top := Screen.Height - Height;
WindowState := wsMinimized;
end;
if Msg.CmdType = SC_RESTORE then
begin
Top := 50;
Left := 150;
ClientHeight := 500;
Width := 500;
WindowState := wsNormal;
end;
end;
end.
Но для кооректного восстановления окна надо еще где-то хранить информацию
о предыдущем состоянии, ну и остается иконка в панели задач.
DVM (2005-09-26 17:27:00) [22]
> Как сделать мою форму позади всех?
SetShellWindow() или WM_WINDOWPOSCHANGING
> А также как сделать что бы при сворачиваний
> сворачивоалсь не в TaskBar?
SetShellHookWindow() + HSHELL_GETMINRECT
NikNet (2005-09-26 17:02:00) [23]// umbra © (26.09.05 16:52) [1]
Как MDI формы... (Как WORD) в угол.
umbra (2005-09-26 16:52:00) [24]а куда?