WM5.0向けのタブブラウザを作ってみる

VisualStudio2005でPDA向けの開発ってした事が無いので、勉強がてらなんらかの簡単なアプリを作ってみようと思い立ちました。
そこで、タブブラウザでも作って見ようかなと思ったのですが、タブブラウザを作るに当たって、既に似たような事してる人がいないか、一応ぐぐってみました。
もし既にいたら、作る価値無しって事で、やめにしようかなと思ってました。

そしたら、コードジンで作ってる人発見。
http://codezine.jp/a/article.aspx?aid=447

しかも私が利用しようとしている開発環境、VisualStudio2005でのコードサンプルじゃないですか。
んー、じゃあ作る必要ないかなと思いつつも、さらっとソースコードを眺めてみると、

なんぢゃこりゃあ!
めちゃくちゃなコード書いてるじゃないか。
(と、この時は思ってました。すみません。)

タブコントロールの使い方が間違ってるし、配列の制御も、もうちっとスマートに書けるんじゃないだろうか。
(そもそも配列は必要ない)
んで、自分で作ってみたんですよ。
「ふふ~ん、タブコントロールはこうやって使うんだよ」
みたいな感じで。
で、出来上がったソースの量を見比べてみると、明らかに私の書いたほうが少ない。

早速、動作確認してみると、特に問題なく動作しているかに見えました。
タブの追加、削除、指定URLへの遷移、タブ切り替えなど、特に問題なく動いてたんですけど、一点正常に動作していない点を発見しました。
それは、IEコンポーネントがユーザからの直接のオペレーションを受け付けてくれていないんですよ(^^;

たとえば、URLテキストボックスにURLを入力して「GO」ボタンを押す場合は、正しく指定URLが表示されます。
プログラム内でIEコンポーネントに命令する分にはちゃんと動いてるんですけど、ページに表示されているリンクをタップしても何の反応も無いんですよね。

私が勝手に判断してるだけですけど、どうやら、PocketPC向けのIEコンポーネントはコンテナ系のコントロールの中に配置するとこんな現象が起きるみたい。
タブじゃなくて、Panelの中に配置しても同じ現象が起きました。
つまりフォームの上に直接配置しないと駄目みたい。
ってかいきなりバグってますな。IEコンポーネント。
なのでコードジンのサンプルコードはあれで正解なのです。

しかし、イレギュラーなコーディング例を紹介するんだったらちゃんと理由を書いて欲しいよなぁ。
初心者がこのサンプルを見たら、タブコントロールの使い方を勘違いしてしまいますよ。

Published 2006年7月26日 16:53 by Hayase

Comments

No Comments

Leave a Comment

(required) 
(required) 
(optional)
(required) 
Powered by Community Server (Non-Commercial Edition), by Telligent Systems