フラッシュが
"WebBrowser1"ウィンドウの子の、"Shell DocObject View"ウィンドウの子の
"Internet Explorer_Server"ウィンドウの子の、
"MacromediaFlashPlayerActiveX"ウィンドウである事が分かったのですが
フラッシュ上の任意の座標に対してクリックイベントを送る事ができません
もし何か方法が分かる方、思いついた方がいたら教えてください
---------------------------------------------------------------------
「WebBrowser上の任意の座標をクリックするには?」
https://www.petitmonte.com/bbs/answers?question_id=1991
前のスレッドも読ませて頂きましたが,ウィンドウハンドルをもたないオ
ブジェクトは,メッセージを受取れませんから,スタテツ さんが
「カーソルが移動してもいいなら..」
と言っていましたが,取敢えずは,マウスカーソルを移動する方法でやっ
てみてはいかがでしょうか.
つまり
(1)マウスの現在位置(多分ボタンの上だと思いますが)を記録しておく
(2)マウスカーソルを移動してクリック
(3)マウスカーソルを元に戻す
という手順です.
「それで納得いくんだったら,とっくにやっていますよ!!」と怒らないで
下さいね.
やっぱりダメですか? ですよね.ゴミレスでした.さようなら.
ウィンドウが非アクティブな時でも使えるようにしたいので、そうすると
一時的にウィンドウをアクティブにしてからでないといけないので
残念ながらその案は無理だと思います
レス有難うございました、気持ちだけ受け取っておきます
ウィンドウレスコントロールの場合、どのようにしてイベントを受け取っているのでしょうか?
例えば、
FormのTRect(50,50,100,100)にTCanvas.Drawで画像を描いたとする
そのアプリは、TFormのOnMouseMoveでForm.Forcused=Trueの時のみ座標をTPointに代入していて
OnClickでそのTPointがTRect(50,50,100,100)内なら画像が切り替わるとしましょう。
これは非ウィンドウコントロールの極例ですが、この場合少なくともFormをアクティブにしてマウスを動かさなくては画像を切り替えることはできません。
先ず、フラッシュが非アクティブ状態でも操作可能なのか、またはフラッシュの外部制御関連を調べてください。そこからです。
でも難しいそう…需要も少なそうだし…
>フラッシュが非アクティブ状態でも操作可能なのか
実際にクリックする以外の方法は知らないので、わからないです・・・
>またはフラッシュの外部制御関連を調べてください
すみません、具体的にどういう事なんでしょうか?
"フラッシュの制御"で検索してみたところ、
・フラッシュを制御するActiveXコントロール
・ジャバスクリプトによるショックウエーブフラッシュの制御
という文がが出てきたのですが、クリックイベントにこだわらずとも
クリックした時と同じ結果を得る事はできるのでしょうか?
ところで何故かWM_LBUTTONUPには反応しているようなのですがどうしてでしょう?
(onMouseOverの時と同じ反応を返します)
ツイート | ![]() |