15.06.2011, 08:25
|
|
Let Me Show You
|
|
Регистрация: 30.04.2010
Адрес: Северодвинск
Сообщения: 5,426
Версия Delphi: 7, XE5
Репутация: 59586
|
|
вроде уже выкладывал по этой теме:
Код:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs;
type
TForm1 = class(TForm)
private
{ Private declarations }
public
{ Public declarations }
procedure WndProc(var Message: TMessage); override;
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
{ TForm1 }
procedure TForm1.WndProc(var Message: TMessage);
const
n = 4;
var
x, y: Integer;
begin
case Message.Msg of
WM_NCHITTEST: begin
x:=LOWORD(Message.LParam);
y:=HIWORD(Message.LParam);
if (Abs(Left+Width-x)<n) and (Abs(Top+Height-y)<n) then Message.Result:=HTBOTTOMRIGHT
else if (Abs(Left-x)<n) and (Abs(Top+Height-y)<n) then Message.Result:=HTBOTTOMLEFT
else if (Abs(Left+Width-x)<n) and (Abs(Top-y)<n) then Message.Result:=HTTOPRIGHT
else if (Abs(Left-x)<n) and (Abs(Top-y)<n) then Message.Result:=HTTOPLEFT
else if Abs(Left-x)<n then Message.Result:=HTLEFT
else if Abs(Top-y)<n then Message.Result:=HTTOP
else if Abs(Left+Width-x)<n then Message.Result:=HTRIGHT
else if Abs(Top+Height-y)<n then Message.Result:=HTBOTTOM
// опционально
else Message.Result:=HTCAPTION; // можно таскать за клиентскую область
// else Message.Result:=HTCLIENT; // нельзя таскать за клиентскую область
Exit;
end;
end;
inherited WndProc(Message);
end;
end.
__________________
Пишу программы за еду.
__________________
|