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

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



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