|
16番会議室「玉石混淆みんなで作るSample蔵」に寄せられたサンプル
"境界線のないFormをサイズ変更・移動"
皆さん こんにちは らせん企画の佐々木です
境界線のない(BorderStyle = bsNone) Form を サイズ
変更したり移動する方法です。
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
IroBtn, StdCtrls;
type
TForm1 = class(TForm)
IroBtn1: TIroBtn;
Label1: TLabel;
private
{ Private 宣言 }
Procedure WMNCHITTEST(Var Msg: TWMNCHITTEST); Message WM_NCHITTEST;
public
{ Public 宣言 }
end;
var
Form1: TForm1;
implementation
{$R *.DFM}
Const
CBorder = 10; {この幅はお好きなように}
Procedure TForm1.WMNCHITTEST(Var Msg: TWMNCHITTEST);
Var
Pos: TPoint;
Begin
Pos := ScreenToClient(Point(msg.XPos, msg.YPos));
If Pos.x < CBorder Then
msg.Result := HTLeft
Else If Pos.x > (Width - CBorder) Then
msg.Result := HTRight
Else If Pos.y < CBorder Then
msg.Result := HTTop
Else If Pos.y > (Height - CBorder) Then
msg.Result := HTBottom
Else
msg.Result := HTCaption;
End;
end.
99/4/1(Thu) 07:45am BYQ05322 らせん企画の佐々木
Original document by らせん企画 氏 ID:(BYQ05322)
ここにあるドキュメントは NIFTY SERVEの Delphi Users' Forum の16番会議室「玉石混淆みんなで作るSample蔵」に投稿されたサンプルです。これらのサンプルはボーランド株式会社がサポートする公式のものではありません。また、必ずしも動作が検証されているものではありません。これらのサンプルを使用したことに起因するいかなる損害も投稿者、およびフォーラムスタッフはその責めを負いません。使用者のリスクの範疇でご使用下さい。
Copyright 1996-2002 Delphi Users' Forum
|