Win32API質問箱 Build44

このエントリーをはてなブックマークに追加
46デフォルトの名無しさん
できました〜みなさ〜ん!!
まだ課題が山積みですが、一応SDKレベルでActiveXコントロールを初期化する方法がわかりました。

WBC001.LZH:SDKレベルでWebBrowserコントロールを使用して簡易ブラウザを作るサンプル(C++)
ttp://winscript.s41.xrea.com/upload/source/No_0015.lzh

あの後、CoCreateInstance()じゃなくてOleCreate()を使うのだ、という事に気付いたのだけれどその後がわからなくて、OleCreateでググったらズバリな記事がCode Projectにありました。ありがとうCode Project!

ttp://www.codeproject.com/com/cwebpage.asp?df=100&forumid=13828&exp=0&select=1119074

しかし、MSにはまたやられた・・・

SDK文書にはDoVerbすると書いてある個所があるのは分かってた。
で、DoVerbのリファレンス見たらEnumVerbしたものをパラメータに入れるって書いてある。
のでIEnumVerb::Next()してみたら一つも列挙できないのでこれじゃDoVerbなんか出来ないな、と思ってたら実はEnumVerbしなくてもDoVerbはできるのだった・・・
それは上のCode Projectの記事でVerb列挙できないWebBrowserコントロールにDoVerbしているのを見てわかったのだった・・・

・・・MSDN・・・なぜこんなにもオレを酷い目に遭わせる・・・OrZ

なお、現在ひっかかっているのはタブストップです。コントロール内の各コントロール(ボタンとかエディットとか)やリンクをTABキーで巡回できません。

そもそも私はTABキーで移動する正式なやり方を知らなくて、
いつもはメインループ部でWM_KEYDOWN/VK_TABが来たら次の子ウィンドウにSetFocusする、という方法をやってます。(バカなのかも)

たぶんみなさんならTABキーで移動できる方法が想像つくんじゃないでしょうか?

で、何はともあれ、これでどんなコンパイラでもWebBrowserコントロールが使えます!

BCCでもgccでもWin32対応なら何でもです!(NASMとかもありかも) MSに頼る必要はもうありません!

うーん・・・ブラウザ百出の予感・・・
長文失礼しました。m(_ _)m