Понедельник, 20.08.2018
Королевство Delphi
Главное меню
Статьи
Наш опрос
Нашли свой исходник?
Всего ответов: 92
Статистика
Онлайн всего: 1
Гостей: 1
Пользователей: 0
Форма входа
Главная » Статьи » Разные » Примеры Delphi

Как сделать возможным передвижение формы если пользователь щелкнул в форму вне пространства заголовка?

В следующем примере показано как можно передвигать форму если пользователь "захватил" Client-пространство. Наиболее простое решение - "обмануть" Windows и Client-пространство выдать за заголовок окна.

unit DragMain;

interface

uses
 SysUtils, WinTypes, WinProcs, Messages,
 Classes, Graphics, Controls, Forms, Dialogs, StdCrtls;

type
 TForm1 = class(TForm)
 Button1: TButton;
 procedure ButtonClick(Sender: TObject);
 private 
 procedure WMNCHitTest(var M: TWMNCHitTest);
 message wm_NCCHitTest;
 end;

var
 Form1: TForm1;

implementation

{$R *.DFM}

procedure TForm1. WMNCHitTest(var M: TWMNCHitTest); 
begin
 inherited;
 if M.Result = htClient then
 M.Result := htCaption;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
 Close;
end;
end.

Получить ссылку на материал

Категория: Примеры Delphi | Добавил: Барон (21.12.2011)
Просмотров: 279 | Теги: форма, передвижение | Рейтинг: 0.0/0
[ Пожертвования для сайта ] [ Пожаловаться на материал ]

Если вам помог материал сайта кликните по оплаченной рекламе размещенной в центре

Поиск
Категории раздела
Delphi.NET [3]
Kylix Delphi for Linux [9]
Советы Дельферу [6]
Хитрости в Delphi [2]
Обзор Delphi [45]
Инсталлятор [11]
Пользовательский интерфейс [18]
Примеры Delphi [93]
Функции и процедуры [16]
Разные [31]
Королевство Delphi © 2010-2018
Яндекс цитирования