HSPポータル
サイトマップ お問い合わせ


HSPTV!掲示板


未解決 解決 停止 削除要請

2021
1010
ねんねこ最小化ボタンと×ボタンだけにしたい2解決


ねんねこ

リンク

2021/10/10(Sun) 12:37:22|NO.94110

こんな感じのはできますか?
https://i.imgur.com/6aDrZMl.png
多分こんな感じでしょうけど。

#include "user32.as" #const SC_SIZE 0xF000 #const SC_CLOSE 0xF060 #const SC_MAXIMIZE 0xF030 #const SC_MINIMIZE 0xF020 #const SC_RESTORE 0xF120 #const WS_SYSMENU 0x80000 #define b_not(%1) ((%1)^0xFFFFFFFF) //全ビットを反転する GetSystemMenu hwnd,0 h_sysmenu=stat //システムメニューのハンドル //RemoveMenu h_sysmenu,SC_CLOSE,0 //システムメニューから「閉じる」を削除を//削除。//これで右上の[X]も無効になる。 //以下は必要なら RemoveMenu h_sysmenu,SC_RESTORE,0 //「元のサイズに戻す」を削除 RemoveMenu h_sysmenu,SC_SIZE,0 //「サイズ変更」を削除 RemoveMenu h_sysmenu,SC_MAXIMIZE,0 //「最大化」を削除 //RemoveMenu h_sysmenu,SC_MINIMIZE,0 //「最小化」を削除



この記事に返信する


沢渡

リンク

2021/10/10(Sun) 13:14:56|NO.94111

どうも調べた限り、最小化ボタンと最大化ボタンはワンセットなので、
最小化ボタンも消さないと最大化ボタンは消えず、
いずれか片方だけを消すということはできないようです。
(最大化ボタンだけを無効にはできるし、HSPでは初期状態でそうなっている)
妥協案ですが、ウィンドウ自体の最小化ボタンを(最大化ボタンもろとも)消した上で、
自前の最小化ボタンを用意するというのはどうでしょうか。

#const min_w 30 #const min_h 30 #const WM_SYSCOMMAND 0x112 #const SC_MINIMIZE 0xF020 #include "user32.as" #define b_not(%1) ((%1)^0xFFFFFFFF) //全ビットを反転する GetWindowLong hwnd,-16 SetWindowLong hwnd,-16,stat&b_not(0x20000) //最小化ボタンを消す(同時に最大化ボタンも消える) objsize min_w,min_h : pos ginfo_sx-min_w,0 button gosub "__",*min //自前の最小化ボタン stop *min sendmsg hwnd,WM_SYSCOMMAND,SC_MINIMIZE,0 //最小化する return



ねんねこ

リンク

2021/10/10(Sun) 16:53:02|NO.94113

そうですか。じゃあ最小化ボタンも消します。



記事削除

記事NO.パスワード
(質問が解決したスレッドは他の利用者に活用してもらうため、削除しないようお願いします)

NO.94110への返信

マスコット

好きなマスコットを選んでください。

名前

e-mail
HOME
  1. 初めて利用する方は、HSP3掲示板の使い方をお読みください。
  2. 不要部分の多い長いスクリプトの投稿は ご遠慮ください。
  3. 書き込みは自動改行されません。適度に改行を入れてください。
  4. スクリプトは小文字の<pre>〜</pre>で囲むと見やすく表示できます。

削除用パスワード

解決したら質問者本人がここをチェックしてください。

エラー発生時、再送信すると二重送信になることがあります。
回答が得られたら、お礼書き込み時に[解決]チェックしてください。
SPAM防止のためURLから始まる文章は投稿できません。
SPAM防止のため英文字のみの本文を投稿することはできません。

ONION software Copyright 1997-2021(c) All rights reserved.