Formの固定

解決


イルカ  2007-11-09 13:27:25  No: 28330  IP: 192.*.*.*

Formをディスクトップ画面上のある位置に固定して移動不可にしたいです.
何か良い方法ありませんか.
FormをMaxにするとか,BorderStyleをbsNoneに指定する以外の方法です.

ちなみに今の設定は,
  With Form1 do
  begin
    Width := 640;
    Height := 480;
    Left := 100;
    Top  := 100;
    FormStyle := fsNormal;
    BorderStyle := bsDialog;
  end;
となっています.

編集 削除
めじな  2007-11-09 13:38:38  No: 28331  IP: 192.*.*.*

こんなのどうでしょう。
DeleteMenu(GetSystemMenu(Self.Handle, False), SC_MOVE, MF_BYCOMMAND);

編集 削除
deldel  2007-11-09 14:35:05  No: 28332  IP: 192.*.*.*

大きさ変更不可

procedure WMGETMINMAXINFO(var Msg: TWMGetMinMaxInfo); message WM_GETMINMAXINFO;


procedure TForm1.WMGETMINMAXINFO(var Msg: TWMGetMinMaxInfo);
begin
  inherited;

  Msg.MinMaxInfo^.ptMinTrackSize.x := 640;
  Msg.MinMaxInfo^.ptMaxTrackSize.x := 640;

  Msg.MinMaxInfo^.ptMinTrackSize.y := 480;
  Msg.MinMaxInfo^.ptMaxTrackSize.y := 480;
end;

編集 削除
DEKO  2007-11-09 14:43:55  No: 28333  IP: 192.*.*.*

>大きさ変更不可
FormのConstraintsプロパティでMaxとMinを同じにする事でも実現可能です。

編集 削除
イルカ  2007-11-09 14:52:00  No: 28334  IP: 192.*.*.*

deldelさん
大きさ変更不可ではなく,Formの移動不可ですね.

めじなさん
APIを利用すると簡単にいけますね.ありがとうございます.
可能でありましたら,MF_BYCOMMANDの意味を教えていただけますか.
検索しても良いページがなかなか引っかからないので...

編集 削除
URL  2007-11-09 15:05:34  No: 28335  IP: 192.*.*.*

> パラメータはアイテム ID 
http://yokohama.cool.ne.jp/chokuto/urawaza/api/DeleteMenu.html

編集 削除
めじな  2007-11-09 15:18:13  No: 28336  IP: 192.*.*.*

MSDN見て頂ければ分かりますよ。
こんなサイトもあります。
http://www.geocities.jp/asumaroyuumaro/program/winapi/menu.html#6

編集 削除
イルカ  2007-11-09 16:56:13  No: 28337  IP: 192.*.*.*

めじなさん,URLさん
貴重な情報ありがとうございます.解決です.

編集 削除
deldel  2007-11-09 16:56:30  No: 28338  IP: 192.*.*.*

あらら、すみません。移動不可でしたか・・・
でも、サイズを変更していくと移動も行われますが、
それはいいのかな?

編集 削除