フォームの閉じる(X)の表示を消す方法


ahsan  2008-07-17 18:38:24  No: 31288

フォームのタイトルバーで、
最大化と最小化のみ表示させ、
フォームの閉じる(X)のみ表示を消したいのですが
どうすればよいのでしょうか?
Disableにするのは、
var
  sysMenu  : HMENU;
begin
  sysMenu:=GetSystemMenu(Handle,False);
  EnableMenuItem(sysMenu,SC_CLOSE,MF_BYCOMMAND or MF_GRAYED);
で、できるのですが、表示そのものをやめるには
どうすればよいのでしょうか。
お願い致します。


TOBY  URL  2008-07-24 04:13:21  No: 31289

消すだけなら、ここにあるのでできそうですが、
すべてを消すことしかできなさそうですね。

Accessむかむか-[最小化・最大化・閉じるボタン削除]
http://sanryu.net/acc/tips/tips45.htm


スコピョン  2008-07-24 07:03:50  No: 31290

var
  hm :HMenu;
begin
      hm := GetSystemMenu(Handle   , false);
      RemoveMenu(hm, SC_CLOSE, MF_BYCOMMAND);

      DrawMenuBar(Handle);

      :
      :

これで[X]ボタンは無効になります。(が、消えません)


スコピョン  2008-07-24 07:07:30  No: 31291

ぐお・・・何書いてんだ。
質問者さんは既にこれで仕様不可って書いてますね。すみません。


ゲジ  2008-07-25 01:54:31  No: 31292

Windows の仕様・・・を変えるか?

BorderStyle を bsNone にしてウィンドウをまねて
Formのキャンバスに描画するとか、
けどこれだと TMainMenu  とかは使えないけどなぁ。


ゲジ  2008-07-25 01:54:31  No: 31293

Windows の仕様・・・を変えるか?

BorderStyle を bsNone にしてウィンドウをまねて
Formのキャンバスに描画するとか、
けどこれだと TMainMenu  とかは使えないけどなぁ。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加