Сделайте родительским окном рабочий стол.

Code:

procedure TForm2.CreateParams(VAR Params: TCreateParams);

begin

Inherited CreateParams(Params);

Params.WndParent := GetDesktopWindow;

end;

 

 

 

Перевод одноимённой статьи с сайта delphi.about.com )

 

В Windows основной элемент пользовательского интерфейса - форма. В Delphi каждый проект имеет по крайней мере одно окно - главное окно приложения. Все окна в Delphi основаны на объекте TForm. В данной статье мы рассмотрим основные события учавствующие в "жизни формы".

 

 

Существует ли в Delphi возможность создавать главную форму по условию? Я хочу использовать условие IF (в зависимости от передаваемого параметра) для того, чтобы определить какая форма будет главной при старте приложения. Фактически "другую" форму НЕ нужно будет загружать.

 

Хитрость здесь заключается в том, что мы предоставляем компилятору весь необходимый для создания форм код, но не допускаем его выполнения (IF FALSE THEN), при этом компилятор не ругается, а мы тем временем (во время выполнения приложения) выбираем и создаем главную форму. Вот пример кода, измененный .DPR-файл, который при старте случайным образом выбирает из друх форм главную:

 

 

Code:

{ **** UBPFD *********** by kladovka.net.ru ****

>> Сворачивает все приложение при сворачивании неглавного окна.

 

Обработчик сообщении. При попытке свернуть окно - сворачивает все приложение. Предназначен для неглавных немодальных окон.

 

Зависимости: Как у стандартной формы...

Автор:       Vemer, Этот адрес электронной почты защищён от спам-ботов. У вас должен быть включен JavaScript для просмотра., Петрозаводск

Copyright:   создано на основе примеров на www.delphimaster.ru

 

********************************************** }

 

//Пишем в Private формы(неглавной);

Procedure WMSysCommand(var message: TWMSysCommand); message WM_SysCommand;

 

//Пишем в тексте программы:

Procedure TF_Shop.WMSysCommand(var message: TWMSysCommand);

begin

If message.CmdType = SC_MINIMIZE then Application.Minimize

Else Inherited;

End;

 

 

Форма изменяющая размеры без заголовка.

Нужно выставить свойство формы BorderStyle := bsNone;

Code:

type

TForm1 = class(TForm)

 

...

 

protected

   procedure CreateParams(var Params: TCreateParams); override;

end;

 

var

Form1: TForm1;

 

implementation

 

{$R *.dfm}

 

procedure TForm1.CreateParams(var Params: TCreateParams);

begin

inherited;

Params.Style := (Params.Style or WS_THICKFRAME);

end;

 

 

 

Автор feriman