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


HSPTV!掲示板


未解決 解決 停止 削除要請

2016
0712
cheperuphy無効化されたウィンドウのメッセージ受け取りについて2解決


cheperuphy

リンク

2016/7/12(Tue) 18:21:55|NO.76159

Windowsのネットワーク接続(アダプタの設定の変更)のページでプロパティを表示したときのように、
無効化された後ろのウィンドウをアクティブにしようとしたときに、手前のウィンドウが点滅するようにしようとしたのですが、うまくいきません。
後ろのウィンドウを無効化して、WindowPosChangingを受け取ったときに前のウィンドウをFlashWindowで点滅させようとしたのですが、
どうやら、無効化されたウィンドウがメッセージを受け取れていないみたいです。なぜでしょうか?
↓WindowPosChangingを判定しようとしたプログラム

#include "user32.as" screen 0 GetWindowLong hwnd,-16 SetWindowLong hwnd,-16,stat|$8000000 title "0" screen 1 title "1" gsel 0 oncmd gosub*cmd,$46 gsel 1 stop *cmd dupptr var,lParam,28 var_2=lpeek(var,24) mes strf("%x",var_2) return
後ろのウィンドウが有効化されていたら、ちゃんとメッセージを受け取っているんですが、無効化すると表示されません。
この後は、変数var_2が3だったら点滅させるようにするつもりでした。
SetWindowLongではなくEnableWindowを使ってみたり、ウィンドウID2のウィンドウを使ってみたり、
WindowPosChangingではなくWindowPosChangedを使ってみたりしましたが、うまくいきませんでした。

ご回答よろしくお願いします。



この記事に返信する


(--)

リンク

2016/7/12(Tue) 21:03:26|NO.76163

親ウィンドウを子ウィンドウのオーナーウィンドウに
設定するとできたと思います。


#include "user32.as" screen 0 title "親" hParent = hwnd screen 1, 320, 240 title "子" hChild = hwnd SetWindowLong hChild, -8, hParent GetWindowLong hParent,-16 SetWindowLong hParent,-16,stat|$8000000



cheperuphy

リンク

2016/7/12(Tue) 21:19:03|NO.76164

なるほど、SetWindowLongでできたんですね。ありがとうございました。



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