unit Unit1;

interface

uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
ExtCtrls;

type
TForm1 = class(TForm)
Panel1: TPanel;
procedure Panel1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
private
{ Private declarations }
procedure WMCHitTest(var msg : TMessage); message WM_NCHITTEST;
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.DFM}

// 판넬로 움직이기
procedure TForm1.Panel1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
ReleaseCapture;
SendMessage(Handle, WM_NCLBUTTONDOWN, HTCAPTION, 0);
// 이건.. 폼의 캡션을 클릭했을때와 같은 역할을 하게 한다.
end;

// 폼으로 움직이기
procedure TForm1.WMCHitTest(var msg: TMessage);
begin
inherited; // 이거 꼭 포함^^
If msg.Result = htClient Then
msg.Result := htCaption
end;

end.

출처 : http://yuhani.springnote.com/pages/973228

+ Recent posts