メルマガ:あゆしゃのC言語プログラミング
タイトル:あゆしゃのC言語プログラミング(Vol.414) SOM1 VisualStudio 7.0  2004/01/19


/*========================================================*/
    <<<あゆしゃのC言語プログラミング>>>
/*========================================================*/
 第414回 SOM1 VisualStudio 7.0
 発行    2004年1月19日(月曜日)
 発行数   約3200

{magclick}
/*========================================================*/
 はじめに ( 決り文句 )
/*========================================================*/
・このメールマガジンはまぐまぐさんから発行しています。
・ジャンルは、マルチメディアのプログラム、C言語です。
・このメールマガジンは、横60文字で作成しています。
 また、インデントはすべて半角スペース4つで構成しています。
・ここで扱うプログラムは、C言語と半光年以内のものです。
・登録解除は、まぐまぐさんのホームページでお願いします。
・まぐまぐさんのバックナンバー(下欄参照)を活用して下さい。
・ここは私の復習の場です。内容は約1ヶ月内外に私が勉強した
 内容になっています。最新の技術があれば、へたれもあります。
・わかりやすさを優先させる為、たまに嘘があるかもしれません。

/*========================================================*/
 ご挨拶
/*========================================================*/

 こんにちは。あゆしゃです。

 配信が少し遅れてしまいました。

 というのも、ずっと碁盤で遊んでいました。

 石をジャラジャラするだけで、楽しいのです。

 黒石は、なんか変な感触ですが、白石は、冷たくてすべすべして
いて、いい感じです。

 打っているとき、ふと、右手の中指が黒ずんでいることに気が
つきました。

 どうも黒石の色がついているようです。

 墨でできているのでしょうか?

{magclick}
/*========================================================*/
 今回のお題  << SOM1 VisualStudio 7.0 >>
/*========================================================*/

 あれは、あゆしゃが大掃除をしている時代でした。

 例年通り、片付けと称して、気がつくと漫画を読んでいたのです
が、いかんいかんと思い、片づけをしていたところ、

 ビニールを破っていないパッケージソフトを発見しました。

 そこには、VisualC++とプリントしてあります。

 さらには、.Netなどとプリントしてあります。

 最近、私はXPに対応したVCがほしいなぁと思っていたところ
ですが、

★とっくの昔に買っており、

★しかも忘れていた

 とのことでした。

/*========================================================*/

 早速インストールして、いくつか実験用のプロジェクトを
コンパイルした後、なにかアプリを作ろうと思いました。

 そこで、前々から思っていたSOMを作ろうとしたのです。

 SOMとはSOLDOUT-Monitorの略で、インターネットゲームである
SOを監視するツールです。

 これを使用すると、いちいちブラウザを開かなくとも、自店の
アイテムが「売り切れましたぜ」ということを、自動的に報告して
くれます。

 ・・・というはずです。

/*========================================================*/

 まずは、ダイアログベースアプリケーションの作成

 ・・たったそれだけのはずなのですが、3回ほど失敗しました。

 何も考えずに作成したときに、ボタンが変なのです。

 前々から、ボタンの位置を自動調整してくれないかなぁと
思っていたのですが、VC7.0では、HTMLフォームをデフォルトにする
ということで、その要求にこたえる形になったようです。

 たしかにHTMLのテーブルなどで100%やRightとかCenterとかを
使用すれば、画面のサイズを変更するとボタンも一緒に移動します。

 しかし、ボタンのハンドラのつくり方や見た目が、普通と違うの
です。嫌でした。

 そこで、最初の作成ウィザードで、そういうダイアログを作成し
ないようにしたかったのですが、

 ・・・いったいどうするのか???

 今までだったら、次のボタンを押すところですが、VC7.0では、
次というボタンがなく、左側のメニューを使うということでした。

 そこに気がつくまでに30分! <かかりすぎ!

 というのも、HelloWorldを表示するようなドキュメントが
入っているだろうと思っていたのですが、見当たらなかったので、
すべてぶっつけ本番でやっていたのです。

 あの分厚い本を見るのは結構、好きだったりしたのですが・・・

 さて、ダイアログができたところで、次の問題はインターネット
接続でした。はたして昔のままのMFCが使えるのかな?

#include "afxinet.h"

CInternetSession *session = new CInternetSession();
CStdioFile* pf=session->OpenURL(url);

 ・・・これはそのまま使えました。そりゃそうですよね。

 使えなかったら全国3億人のVC使いが暴動を起こしますよね。

/*========================================================*/

 さて、ではスレッドはどうでしょうか。

 OpenURLが時間のかかる関数なので、スレッドで処理しなければ
画面が固まってしまいます。よって、スレッドは必須です。

CWinThread* g_pThread = NULL;
g_pThread = ::AfxBeginThread( ThreadMain, ( LPVOID )m_hWnd);

 これも、難なく動きました。一安心です。

/*========================================================*/

 ところが、一安心できないものもありました。

 UINTの扱いが、変わっているのです。

 これはまた次回のイベントのお話のときに。

{magclick}
/*========================================================*/
 さいごに
/*========================================================*/

 ヘルプは、以前の(重くて硬くて使いにくい)MSDNから、内蔵型
に変わりまして、さらに使いにくくなったような気がします。

 クラスビューやツールボックスなどは、マウスを近づけると反応
して開いてしまうナイーブなものになりました。使いにくいです。

 検索は、検索ウィンドウで検索をかけた後、検索ウィンドウが
残るようになりました。邪魔です。しかもEscキーで消えるときは
いいのですがフォーカスを失って消せないときがあり、いちいち
マウスを使わなければなりません。キーボード使いとしては
きわめて不満です。

 もっとも使いにくくなった気がするのが、オプションです。

 見た目からしてVBっぽくなり、オプションウィンドウを作るのが
めんどくさくなったらしいのですが、これはまぁ、いいでしょう。

 オプションのないアイテム選択時にオプションをクリックして
しまうと、それ以降、オプションが出なくなってしまうバグ(?)
に、小1時間ほどなやみ、アプリを再起動すると直ることが
分かりました。

 まったく。

 ・・・そういえば、梱包されていたSP1をインストールして
いないけど・・・まぁ、いいや。

{magclick}
/*========================================================*/
 次回予告
/*========================================================*/

 次回は1月21日(水曜日)に、第415回を送ります。
 お題は「SOM2 ハンドラとオーバーライド」

 続いて、悩んだ問題、第2弾です。

 お楽しみに!

/*========================================================*/
 最後の決り文句
/*========================================================*/
 このメールマガジンは、まぐまぐさんから発行しています。
 このメールマガジンを解除したい場合は、まぐまぐさんをご利用
ください。このメルマガのまぐまぐアイディーは最後にあります。
 このメールマガジンには広告が挿入されます。
 このメールマガジンの内容に文面の引用はありません。
 めーらっくすの場合はめーらっくすの利用方に従ってください。
 このメールマガジンの内容の、転用、流用、宣伝、リンク、
大掃除 なんて大歓迎です。

{magclick}
/*========================================================*/
 
/*========================================================*/

発行者 あゆしゃ

まぐまぐアイディー
0000020674

まぐまぐバックナンバー
http://jazz.tegami.com/backnumber/frame.cgi?id=0000020674

あゆしゃの世界
http://ayusya.hp.infoseek.co.jp/

登録と解除
http://www.mag2.com/m/0000020674.htm

ご意見・ご感想・ご質問メール
mailto:ayusya@flamenco.plala.or.jp

めーらっくす <<過去ログがタイトル別になっています>>
http://www.mailux.com/mm_dsp.php?mm_id=MM3E1AEE285AB4F

ブラウザの閉じるボタンで閉じてください。