TForm
Сделайте родительским окном рабочий стол.
Code: |
procedure TForm2.CreateParams(VAR Params: TCreateParams); begin Inherited CreateParams(Params); Params.WndParent := GetDesktopWindow; end; |
- Подробности
- Родительская категория: TForm
- Категория: Создание, закрытие и вызов форм
Перевод одноимённой статьи с сайта delphi.about.com )
В Windows основной элемент пользовательского интерфейса - форма. В Delphi каждый проект имеет по крайней мере одно окно - главное окно приложения. Все окна в Delphi основаны на объекте TForm. В данной статье мы рассмотрим основные события учавствующие в "жизни формы".
- Подробности
- Родительская категория: TForm
- Категория: Создание, закрытие и вызов форм
Существует ли в Delphi возможность создавать главную форму по условию? Я хочу использовать условие IF (в зависимости от передаваемого параметра) для того, чтобы определить какая форма будет главной при старте приложения. Фактически "другую" форму НЕ нужно будет загружать.
Хитрость здесь заключается в том, что мы предоставляем компилятору весь необходимый для создания форм код, но не допускаем его выполнения (IF FALSE THEN), при этом компилятор не ругается, а мы тем временем (во время выполнения приложения) выбираем и создаем главную форму. Вот пример кода, измененный .DPR-файл, который при старте случайным образом выбирает из друх форм главную:
- Подробности
- Родительская категория: TForm
- Категория: Создание, закрытие и вызов форм
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; |
- Подробности
- Родительская категория: TForm
- Категория: Создание, закрытие и вызов форм
Форма изменяющая размеры без заголовка.
Нужно выставить свойство формы 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
- Подробности
- Родительская категория: TForm
- Категория: Создание, закрытие и вызов форм
Страница 8 из 8