- - PR -
IHTMLElementのClick以外のイベントの発火方法
1
投稿者 | 投稿内容 | ||||||||
---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2007-11-07 22:32
開発環境:VisualStudio2005 C#
IE7 IHTMLElementのClick以外のイベントを発火させたいのですが、 どのようにプログラムすればよいのでしょうか? | ||||||||
|
投稿日時: 2007-11-08 07:33
「発火」って(^_^; 意味わかるけど プログラムすれば、とは、どういう意味でしょう? イベントのトリガーは、そのイベントが発生する要件を満たしたときですよね? | ||||||||
|
投稿日時: 2007-11-08 08:20
VC++ による古典的な COM プログラミングでは、「イベントを発生させる」という意味の動詞として Fire が用いられます。 また、イベントを発生させるためのメソッドの接頭辞として Fire を用いる習慣もあります。
IHTMLElement::click() 呼び出しにより、クリックイベントが発生します。 他のイベントを発生させるメソッドは見当たらないですね。 こういうのはもっと「どういう状況で」「何がしたいのか」といった、背景なんかを教えてもらえないと「ありません」以外に答えようがないパターンですね。 | ||||||||
|
投稿日時: 2007-11-11 00:49
回答あり号ございます。
確かに内容を絞りすぎました。 やりたいのは、IEに表示されている各要素のイベントを発生させることです。 したがって、現在の要素を絞り込む手順で得られるのがIHTMLElementというだけで、 IHTMLElementでなければないわけではありませんでした。 絞り込む手順 1.InternetExplorerからHTMLDocumentClassを取得 2.HTMLDocumentClassのgetElementsByTagNameでIHTMLElementCollectionを取得 3.IHTMLElementCollectionのItemからIHTMLElementを取得 得られたIHTMLElementのプロパティにイベントが関連付けられているようなのですが、 ここから先がわからないという状況です。 この先の手順または別の手順を教えていただけないでしょうか? | ||||||||
|
投稿日時: 2007-11-11 05:45
「どうしてそんなことがしたいのか?」を問うてるのです。 Webアプリのテストツールでも作ってるんですか? | ||||||||
|
投稿日時: 2007-11-11 17:49
動機を質問されていたのですね。 予想されているとおり、テストツールを作成しています。 | ||||||||
|
投稿日時: 2007-11-11 18:51
そんな処理が必要になることは滅多にないはずなので、「必要だ」と判断した根拠や過程に問題があるのではないかと思い、動機をお尋ねしました。
HTTP レベルのテストじゃだめってことなんですよね? ということなら、IHTMLElement3::fireEvent() でどうぞ。 | ||||||||
|
投稿日時: 2007-11-12 00:24
回答ありがとうございます。
IHTMLElement3にあったんですね。 IHTMLElement2以前の方法が気になりますが、 fireEventを試してみます。 ありがとうございました。 |
1