お知らせ

電子会議

ライブラリ

パレット

Delphi FAQ検索

Delphi FAQ一覧

サンプル蔵





FDelphi FAQ
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