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


HSPTV!掲示板


未解決 解決 停止 削除要請

2011
0721
うしHSPLetにて右上のボタンを非表示にする方法5解決


うし

リンク

2011/7/21(Thu) 15:01:01|NO.40045

恐れ入ります
タイトルのままですが
HSP3.0のソースをHSPLet3.0に移植していますが
#uselib "user32.dll"
#func GetWindowLong "GetWindowLongA" int, int
#func SetWindowLong "SetWindowLongA" int, int, int
#define GWL_STYLE $FFFFFFF0
****************右上ボタンを消す
GetWindowLong hwnd, GWL_STYLE
SetWindowLong hwnd, GWL_STYLE, stat & $FFFCFFFF
gsel ginfo_sel, -1 : gsel ginfo_sel, 1
SetWindowLong hwnd, GWL_STYLE, stat & $FFF4FFFF
の方法が使えません
ボタンがなければいいのでbgscrを使うとアクティブにしてくれません
何か方法は無いでしょうか?
よろしくお願いします



この記事に返信する


backdrop

リンク

2011/7/21(Thu) 18:23:27|NO.40054

えっと、、、それはIEのコントロールをしたいってこと?
そもそもUSER32はWINAPIのコントロールだからJAVAじゃ使えないはずだけど…



うし

リンク

2011/7/21(Thu) 19:25:47|NO.40058

コメントありがとうございます

>えっと、、、それはIEのコントロールをしたいってこと?

IEのコントロールをしたいのではなく
screenでサブメニューとして開いた窓のxボタンを押されるとアプレットが全部止まります
それを防ぎたいのです

>そもそもUSER32はWINAPIのコントロールだからJAVAじゃ使えないはずだけど…

拡張メソッドにGetWindowLongが無いようです

bgscrがアクティブにならんのはどしてかな?



backdrop

リンク

2011/7/21(Thu) 20:17:49|NO.40059

>screenでサブメニューとして開いた窓のxボタンを押されるとアプレットが全部止まります
それを防ぎたいのです
あー、なるほど。じゃ多分これでできると思います。多分、↓
窓を開いたところでonexitをかけてみましょう。
そして、飛び先のラベルで「開いた窓」を非表示スタイルで再初期化すれば回避できるはずです
そのあとはonexit 0で割り込みを止めてあげましょう。

こういうことかな?

>bgscrがアクティブにならんのはどしてかな?
もともとメインのウィンドウ枠がHSPLetだと存在しないです。
質問にあるように使っても無意味なので、これは使わないほうがよいでしょう



うし

リンク

2011/7/22(Fri) 07:08:18|NO.40085

アドバイスありがとうございます

残念ながらLet側がonexitをサポートしていません

他に手は無いでしょうか?



うし

リンク

2011/7/22(Fri) 20:32:19|NO.40106

たちまち解決しないので、メインの枠を
バッファに退避してサブメニューを
表示することにしました

ありがとうございました



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