mfc-ml

2006年04月

30

[mfc 52150] Re: ActiveXでIEのイベントを取りたい


社本@ワックです。

> IE上で動作するMFC ActiveXコントロールを作成しています。
> ActiveXを呼び出しているページがアンロードされるタイミングで、
> 本当に閉じるかどうか確認するメッセージを表示したいと思っています。

いくつか、やり方はありますが、一番、簡単なやり方を。

ActiveXコントロールのサイトのインターフェースポインタから、IServieProvider経由で
IWebBrowserインターフェースを取得することができます。
そこから先は、IConnectionPointContainerを使っていつもどおりのイベントの接続が 

できるかと思います。

IServiceProvider経由でIWebBrowserインターフェースを取得する方法を、
私のサイトに載せています。よろしければ、参考になさってみてください。


■サイトのインターフェースポインタから、IWebBrowser2Ptrを取得
http://www.wac-jp.com/programmers/win32/QueryServiceHelper_QueryWebBrowserApp.html



// 社本 明弘
// http://www.wac-jp.com/programmers/
// http://www.ailight.jp/blog/sha256/
// Microsoft MVP for VC++ (Oct 2003 - Oct 2006)
29

[mfc 52149] ActiveXでIEのイベントを取りたい

はじめまして。ironhillと申します。
VC.NET2003上でMFCを使っています。

IE上で動作するMFC ActiveXコントロールを作成しています。
ActiveXを呼び出しているページがアンロードされるタイミングで、
本当に閉じるかどうか確認するメッセージを表示したいと思っています。

DHTMLのonbeforeunloadイベントに相当するものが取れたら
実現できるのではと思っているのですが、やり方がわかりません。

CHtmlViewなどを使い、Webブラウザコントロールのイベントを取る
サンプルなどはいくつか見つけたのですが、ActiveXでIEのイベントと
なるとズバリなサンプルもなく、苦戦しております。

ヒントやサンプル、参考になるサイトなどありましたら、
ご教授いただけないでしょうか。
28

[mfc 52148] Re: [mfc 52147] RE: オートコンプリート機能の実装について

渋木さん、松尾さん、
情報ありがとうございます。

抽象的なご相談に、丁寧に答えていただきありがとうございました。

お二人に教えていただいたことをもとに、GWで実装してみようと思います。
ありがとうございました。

Hiromitsu Matsuura
----- Original Message ----- 
From: "Hiroaki SHIBUKI" <h...@mbi.nifty.com>
To: <m...@ml.acty-net.ne.jp>
Sent: Friday, April 28, 2006 9:09 AM
Subject: [mfc 52147] RE: オートコンプリート機能の実装について
Subject: [mfc 52147] RE: オートコンプリート機能の実装について


> 渋木です。
>
>> インターネットエキスプローラにある、アドレスのオートコンプリートの機能を実 
>> 
> 装したいと
>> 思っているのですが、このような機能をつくるにはどこからデータを持ってくるの 
>> 
> でしょうか?
>>
>> 実装したいと考えている機能は、
>> ・コンピュータ上にあるフォルダ及びデータのオートコンプリート機能
>> ・インターネットのアドレスのコンプリート機能
>
>  データそのものがほしいのではなく、オートコンプリートの機能を実装したいので 

> あれば
>
> SHAutoComplete()
>
>  をエディットコントロールに適用すれば、後は勝手にやってくれます。
>
> --
> // 渋木宏明 (Hiroaki SHIBUKI)
> // http://hidori.jp/
> // Microsoft MVP for Visual C#
>
28

[mfc 52147] RE: オートコンプリート機能の実装について

 渋木です。

> インターネットエキスプローラにある、アドレスのオートコンプリートの機能を実
装したいと
> 思っているのですが、このような機能をつくるにはどこからデータを持ってくるの
でしょうか?
>
> 実装したいと考えている機能は、
> ・コンピュータ上にあるフォルダ及びデータのオートコンプリート機能
> ・インターネットのアドレスのコンプリート機能

 データそのものがほしいのではなく、オートコンプリートの機能を実装したいので
あれば

SHAutoComplete()

 をエディットコントロールに適用すれば、後は勝手にやってくれます。

--
// 渋木宏明 (Hiroaki SHIBUKI)
// http://hidori.jp/
// Microsoft MVP for Visual C#
28

[mfc 52146] RE: [mfc 52145] オートコンプリート機能の実装について

どーも、松尾です。

> インターネットエキスプローラにある、アドレスのオートコンプリートの機能を実装したいと
> 思っているのですが、このような機能をつくるにはどこからデータを持ってくるのでしょうか?

> 実装したいと考えている機能は、
> ・コンピュータ上にあるフォルダ及びデータのオートコンプリート機能
> ・インターネットのアドレスのコンプリート機能

> 抽象的な質問で申し訳ないのですが、これらの情報をどのように取得するのが
> 良いかアドバイスいただけないでしょうか。
> よろしくお願いします。

普通に考えれば、ローカル環境のフォルダやらファイル名は実際に検索すれば、
ネタは拾えると思います。検索すべき範囲が限定されますからね。
検索する方法はまずは自分で調べましょう。
どのタイミングで検索するかは実装次第でしょうから、
これはご自分で考えてください。

インターネットのアドレスはこれまで入力してきた履歴からだと思います。
入力履歴をどのように取っておくのかというのは考える必要があるでしょうね。
検索する元ネタさえ上がれば、後は検索して結果を示すだけなので
色々考えて見てはどうでしょう。
記事検索
Amazon.co.jp
  • ライブドアブログ