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


HSPTV!掲示板


未解決 解決 停止 削除要請

2007
0203
うひょWM_MOVING5解決


うひょ

リンク

2007/2/3(Sat) 13:43:59|NO.5389

ウィンドウが動かされたときに処理をしようとそれに対応するようなウィンドウメッセージ
を探したところ、WM_MOVEとWM_MOVINGという2つが見つかりました。
どちらも試したのですが、WM_MOVEは最大化、最小化のときも反応するのでWM_MOVINGを試した
ところ、反応するタイミングは大丈夫でしたが、iparam,wparam,lparam等の値の意味が分からず
困っています。こちらでもいろいろ試してみたのですが(下記)、どうしても分かりません。
だれか教えてください!お願いします。

#define ctype iflet(%1,%2,%3) ((((%1)!0)*%2)|(((%1)=0)*%3)) screen 2:title "2" oncmd gosub *aaa,$0216 //WM_MOVING stop *aaa m=m+1&255:color m,m,m:boxf p=iflet(m<128,255,0) pos 0,0:color p,p,p:mes "iparam:"+iparam+"\nwparam:"+wparam+"\nlparam:"+lparam+"\nhwnd:"+hwnd return



この記事に返信する


AR

リンク

2007/2/3(Sat) 19:40:47|NO.5397

WM_MOVINGでググればいくらでも情報が出てきます。



osakana

リンク

2007/2/3(Sat) 22:37:48|NO.5404

最小化かどうか判断できれば WM_MOVE でも良さそうな気がしますが
どうでしょうか?
WM_MOVING は lparam から RECT構造体 を取得する
方法が思いつきませんでした。


#define WM_MOVE 0x0003 screen 2 :title "2" oncmd gosub *aaa,WM_MOVE gosub *aaa stop *aaa color 255,255,255 :boxf color :pos 0,0 lprm=lParam mes "x : "+wpeek(lprm,0) //ウィンドウのX座標 mes "y : "+wpeek(lprm,2) //ウィンドウのY座標 mes "\nx : "+(lParam & $FFFF) //ウィンドウのX座標 mes "y : "+(lParam>>16&$FFFF) //ウィンドウのY座標 //最小化されたら。 if lParam=-2097118464&f=0 { dialog "_2_" :f=1 } else { f=0 } return



Irisawa

リンク

2007/2/3(Sat) 23:45:56|NO.5406

WinAPIやウィンドウメッセージなどはやはりちょくとさんのページが非常に参考に
なります。

http://yokohama.cool.ne.jp/chokuto/urawaza/message/WM_MOVE.html

すべて網羅しているわけではありませんが一般的に使用されるであろう情報はほとんど
揃います。
また、HSPの事情(構造体のHSPにおける変数のオフセットなど)に合わせて解説されている
ので分かりやすいです。



osakana

リンク

2007/2/4(Sun) 00:42:16|NO.5408

>RECT構造体 を取得する方法が思いつきませんでした。
思いつきました、よく考えたら当たり前の方法。。。

#define WM_MOVING $216 #define LEFT 0 #define TOP 1 #define RIGHT 2 #define BOTTOM 3 screen 2 :title "2" oncmd gosub *aaa,WM_MOVING stop *aaa color 255,255,255 :boxf color :pos 0,0 dupptr rect,lparam,16 mes "ウィンドウの左上XY座標" mes "X : "+rect(LEFT) mes "Y : "+rect(TOP) mes "ウィンドウの右下XY座標" mes "X : "+rect(RIGHT) mes "Y : "+rect(BOTTOM) mes "ウィンドウの大きさ" mes "X : "+(rect(RIGHT)-rect(LEFT)) mes "Y : "+(rect(BOTTOM)-rect(TOP)) return



うひょ

リンク

2007/2/4(Sun) 09:04:01|NO.5409

皆様、ありがとうございます。
やっぱり、WinAPIについてはもっと勉強する必要がありますね。



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