VCでIEのブラウザ画面を・・
■ このスレッドは過去ログ倉庫に格納されています
0001石田
NGNGVBでは、WBオブジェクトを埋め込むだけでできるのに、
VCでは、結構手間かかるんですかねえ?
教えてください
0002デフォルトの名無しさん
NGNG0003石田
NGNGつかいたくないんですけど・・・
0004デフォルトの名無しさん
NGNG自分で調べた成果、以下の2つのインタフェース実装は最低条件らしい。
・IWebBrowser2
・DWebBrowserEvents2
で、これらって派生させてメソッドのコード自分で書かないかんの?
簡単にんにインタフェース取得できんのかな。
CoGetWebBrowerみたいな関数あるとありがたいのに。
00054
NGNGdountのソースが非MFCだったんだけど、独自ライブラリ使ってるので
解析難航しております。
0006デフォルトの名無しさん
NGNG独自ライブラリっていうかATL+WTLではなく?
00074
NGNG有名なのかな?無知ですいません。
0008デフォルトの名無しさん
NGNG0009わからん
NGNG0010デフォルトの名無しさん
NGNG0011デフォルトの名無しさん
NGNG直前で外出
0012デフォルトの名無しさん
NGNGIWebBrowser2はIEコンポーネントが提供するインターフェイス。自分で実装
する必要はない。ていうか、こんなもん実装できるか。しないために、IEコンポーネントを
使う。
DWebBrowserEvents2はIWebBrowser2からのイベントを受けるイベントシンク。
こっちはコンテナ側が実装して、IWB2からのイベントを処理する。
IWebBrowser2のIFを得るには、CoCreateInstanceにCLSID_InternetExplorerや
CLSID_IWebBrowserを渡してやれば実体化できる。
CLSID_InternetExplorerを渡してもIEが実体化され起動したIEを制御できる
だけなので、あまり面白くない。が、IEの画面を別プロセスから制御するのは
見た目には面白いので素人ウケするかもしれない。
コントロールとして埋め込むにはCLSID_IWebBrowserを実体化する。
CLSID_IWebBrowser2の方を実体化するには、OleControlContainerになら
ないといけないらしい。その辺が恐ろしく面倒だということまではわかった。
素直に、MFCかWTLを使うのが良いと思う。そのためのMFCでありWTLなわけだし。
0013デフォルトの名無しさん
NGNG00141ですが
NGNGよかったらサンプルプログラムあるURL、書籍など教えてください!
0015デフォルトの名無しさん
NGNG使わない方法を考えない。(=車輪の再発明をしない)
0016デフォルトの名無しさん
NGNG同意。デル使いがVCLを使わない方法を考えないのと同じ。
00174
NGNG・DWebBrowserEvents2でIWebBrowser2のイベントを受け取る
・実体化はCoCreateInstanceでよい
・OleControlContainerにするのが面倒くさい
インターネット漁ったけど結局収穫無し。
むー、意地でも作りたくなってくるな。
00181ですが(石田)
NGNGうざいです。たぶん、実際に知っている連中なんだろうけど
そういう人は、こういうところだけで面と向かっては、
喧嘩うれない人ばっかだろうから
(ボクシングやってる自分としては、現実でも喧嘩うること
自体未熟といいたいけど)
流してみています。
4さん、同じ目的を持っているみたいですね!!
同盟をくみましょう
0019デフォルトの名無しさん
NGNGスレ眺めても別に叩いる奴なんていないと思うが・・・?
0020デフォルトの名無しさん
NGNGボクシングのやりすぎで頭がおかしくなってしまったのでは?(叩き)
0021デフォルトの名無しさん
NGNG"VCで、ウィンドウの中にIEのブラウザ画面を埋め込むのに
VCでも、WBオブジェクトを埋め込むだけでできるのに、 "
MFC使いたくないとかワケのわからないことを言うから余計に
問題が複雑になっていると思われ。
VBと同じくダイアログベースだがな(藁
今やってみたが1分も掛からずに出来たぞ。
C++よくわからんからMFC使いたくないとかいうVB厨じゃないだろうな。
MFCとかWTLを使わない方がずーーーと難しいなんて事は分かって
ないと思われ。
0022デフォルトの名無しさん
NGNG0023石井
NGNGほかのところでは、首つれだとか、糞食ってシネ だとか
丸一日へこみました
0024デフォルトの名無しさん
NGNG0025デフォルトの名無しさん
NGNGそれが気づいているかいないかっていうだけ。
君は自分が自己中心的ってことに気づいてないだけ。
現実社会では人間関係もあってまわりがあわせてくれてるんだろうけど、
2chではそうはいかないってことだよ。
それがわかったら自己啓発セミナーにでも逝って更生しなさい
0026つーか
NGNGActiveXオブジェクト(WebBrowser)をうめこめばいいだけでないの?
>21
0027デフォルトの名無しさん
NGNGわざわざ罵倒されるようなことをする、わざわざMFCを使わない方法を探る、
わざわざ車輪を再発明しようとするetc
0029デフォルトの名無しさん
NGNGMFC がイヤなら ATL の CAxWindow を遣うのはどない?
メインウィンドウにフィットする子ウィンドウを作り、そいつを
CAxWindow オブジェクトにアタッチし、CreateControlEx()。
MFC も ATL もイヤで、ゼロから実装したいっつうなら、
他の人も言ってるように、OLE(ActiveX)の理解が必須。
「Inside OLE」とかを読んで、ActiveX コントロールとの連携方法を
ゼロから学習するしかないやろね。
素直になんらかのライブラリの恩恵を受けたほうがよいと思うよ。
0030デフォルトの名無しさん
NGNGMFCもATLも理解できない1にOLEを理解しろと言うのは不可能だ。
00311ですが
NGNGではさすがにありません。
どうやら、ActiveXコントロールでWeb Browserオブジェクトを埋め込む
というのが有力みたいですね。
0032名無し関数のλさん
NGNGWTL 入れて ATL/WTL App Wizard に雛型を作らせて、それを出発点に
するのが良いと思う。
Use a view window にチェック入れて View Type を HTML Page にすれ
ば、CAxWindow を使って IE コンポーネント埋め込んだコードを書き出し
てくれる。これで QueryControl 使って IWebBrowser2 インターフェースを
取得すれば、とりあえず IE コンポーネントを操作できる。
例
----------
LRESULT OnFileNew(WORD /*wNotifyCode*/, WORD /*wID*/, HWND /*hWndCtl*/, BOOL& /*bHandled*/)
{
// TODO: add code to initialize document
HRESULT hr;
CComPtr<IWebBrowser2> spBrowser;
hr = m_view.QueryControl(&spBrowser);
if (FAILED(hr))
return 0;
CComVariant ve;
CComVariant vurl(_T("http://piza2.2ch.net/tech/index2.html"));
spBrowser->Navigate2(&vurl, &ve, &ve, &ve, &ve);
return 0;
}
----------
使いこなすには ATL/WTL のコードを読むのが必須ですが(WTL にいたっ
てはドキュメントないし)、それなりの力量が要求されます。読んで分からな
かったら諦めましょう。
00331ですが
NGNG32さんのアドバイスは簡潔かつ、参考になりました
ありがとうございます
・・・何人か、私になりすましてる・・・
00341ですが
NGNG32さんのアドバイスは簡潔かつ、参考になりました
ありがとうございます
・・・何人か、私になりすましてる・・・
00351ですが
NGNG32さんのアドバイスは簡潔かつ、参考になりました
ありがとうございます
・・・何人か、私になりすましてる・・・
0036デフォルトの名無しさん
NGNG| 呼んだ? |
\_______ ____/
|/
∧⊂ヽ
(゚Д゚)ノ
____/ |⊃ |\____
\ 叩 / ̄ | | ̄\ 氏 /
\/ ⊂ ノ〜 \/
/\ ((⊂∪⊃)) /\
/ 逝 \____/ 煽 \
 ̄ ̄ ̄ ̄\. 騙 ./ ̄ ̄ ̄ ̄
\/
0037デフォルトの名無しさん
NGNG誰もそれ以外の方法を提案してないんだけど。
MFCやATL+WTLを使おうが使うまいが、「Web Browserコントロールを埋め込む」
ことには変わりない。
0038フレデリック
NGNGイベントを発信するのはあくまでコントロールだよ。
その実装がコンテナにあるんです。こちらをシンクといいます。
接続ポイントについて学ぶといいです。
0039デフォルトの名無しさん
NGNG1の用途ならIWebBrower2のラッパークラスとして定義してるとこだけ
見れば済むんじゃないのか?
0040!1
NGNGこれから詳しく読もうと思うんだけど、読むべきファイルについて助言を頼む。
ざっと見て MtlBrowser.h でラッパクラス CWebBrowser2 と IWebBrowserEvent2Impl
を定義して、それを ChildFrm.h で利用しているみたいだが、この二つを読めば OK?
■ このスレッドは過去ログ倉庫に格納されています