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


HSPTV!掲示板


未解決 解決 停止 削除要請

2009
0517
KKウィンドウの上下5解決


KK

リンク

2009/5/17(Sun) 04:06:09|NO.25202

ウィンドウの上下(前後?)に関する質問です

gsel命令を使うことにより最前面に持っていくことは出来ますが、同時に起動してる他のソフトまで隠れてしまいます。
できればHSPで製作したウィンドウの間のみでの上下関係を設定できるようにしたいのですが何か方法はないでしょうか?


たとえば

screen 0,640,480 screen 1,50,50 gsel 1,2

上のようなスクリプトを書いたとき常に0の上に1が来て欲しいんですが、他のウィンドウの上に1が来て欲しくはないのです。
既出でしたらすみません。
よろしくおねがいします



この記事に返信する


ANTARES

リンク

2009/5/17(Sun) 04:25:27|NO.25204

 「gsel 1,2」を「gsel 1,1」にして、
二度と「gsel 0,1」や「gsel 0,2」を実行しなければいいだけです。

 ユーザーが変更することまで制限したいというのは製作者のわがまま。
だから、私は「gsel id,2」(または同機能)を使っているソフトは
使いません。それがわかった時点でアンインストールします。
唯一の例外がHSP(3ではやめたんだっけ?)。

 もしかして、gsel id(,0)を知らない?



KK

リンク

2009/5/17(Sun) 13:12:06|NO.25211

返信ありがとうございます。
少し私の説明が下手くそでした。


簡単に言うとPhotoShopなどのツールウィンドウを作りたいのです。
ツールウィンドウは常にメインウィンドウの上にありますが、他のソフトの上には来ないのでそれを再現したいのです。

gsel 1,1 にしてしまうとまたメインウィンドウを選ぶと奥になって見えなくなってしまうので。。。



inovia

リンク

2009/5/17(Sun) 13:21:38|NO.25212




hspail

リンク

2009/5/17(Sun) 14:01:16|NO.25216

無理矢理(笑
WM_ACTIVATE が飛んできたときにやってみたけどだめだった

#uselib "user32" #func SetWindowPos "SetWindowPos" int, int, int, int, int, int, int #define SWP_NOACTIVATE $0010 #define SWP_SHOWWINDOW $0040 #define SWP_NOSIZE $0001 #define SWP_NOMOVE $0002 screen 1, 300, 200 repeat SetWindowPos hWnd, HWND_TOP, 0, 0, 0, 0, SWP_NOACTIVATE | SWP_SHOWWINDOW | SWP_NOMOVE | SWP_NOSIZE wait 1 loop



KK

リンク

2009/5/17(Sun) 16:50:40|NO.25226

色々とご指導ありがとうございました!
何とか自分でも使えそうです!



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