時乃工房-Windowsとアマグラマーな関係-

アクセスアップにオートリンクネット リンクが自動で増殖オートリンクの登録はこちら 節約内職情報検索局
ページランク向上リンク集
役立つリンク集 Web Links
SEO対策ディレクトリ型検索エンジン Su-Jine
メニュー
トップ
アマグラミング
C++編 目次
第4章
第6章
ソフトウェア開発製品
相互リンク

<勘違いだらけのアマグラミングな日々(C++編)>

第5章 こんにちは!?

2006年8月16日

<メッセージボックスのサンプル>

本章では左のようなメッセージボックスを作ってみようと思う。
表示する内容を"Hello・・・”とかにしようかとも思ったが、なぜか先人を小馬鹿にしてしまうような背徳感を覚え、差障りの無い文章にしてみた。



/*
 Title   :List.001-004
 Filename:"main.cpp"
*/


//インクルードファイル------------------------------------------------
#include        <windows.h>

//エントリーポイント--------------------------------------------------
int     WINAPI  WinMain(  HINSTANCE     main_instance,
                               HINSTANCE     pre_instance,
                               LPSTR           argment_characters,
                               int               window_mode)
{
       MessageBox(  HWND_DESKTOP,
                         "メッセージボックスを作ってみた・・・",
                         "MessageBox",
                         MB_OK);
       return  0;
}
ソースのダウンロード

ついにWindowsのアプリケーション作成に成功!!といきたかったのだが、コンパイラがエラーを返してとまってしまう。
そんな馬鹿な、BCC(ボーランドC++コンパイラ)ではビルド出来ていたのに・・・

訳も判らずしばらくパニクってしまったが、落ち着いてエラーメッセージに目を通す。
どうやらキャストエラーのようだ。
キャストしているわけでもないのに何でだろ?と、よくよくエラーメッセージを読み返しているうちに、STRの文字を見つけてはたと思い当たった。

”UNICODE”だ。

いやらしい仕様だとは思うが、VC++2005からデフォルトの使用文字コードが”UNICODE”になっているようだ。
慌ててプロジェクトのプロパティを変更して、”UNICODE”を使わないようにした。
これでやっとビルドが出来て、晴れて画面上にメッセージボックスが現れる。

なんともはや、突拍子も無いところに落とし穴を掘っておいてくれるものだ。
(↑はまる方が恥かしいんだが)

なお、以下に”UNICODE”対応の為の変更を施したソースを載せておく。
どうやら双方法あるようだが、どちらがベストなのかは判らない。
ただ、どちらも動くので良しとしよう。

/*
 Title   :List.001-005
 Filename:"main.cpp"
*/


//インクルードファイル------------------------------------------------
#include        <windows.h>

//エントリーポイント--------------------------------------------------
int     WINAPI  WinMain(  HINSTANCE     main_instance,
                               HINSTANCE     pre_instance,
                               LPSTR           argment_characters,
                               int               window_mode)
{
       MessageBox(  HWND_DESKTOP,
                         L"メッセージボックスを作ってみた・・・",
                         L"MessageBox",
                         MB_OK);
       return  0;
}
ソースのダウンロード

/*
 Title   :List.001-006
 Filename:"main.cpp"
*/


//インクルードファイル------------------------------------------------
#include        <windows.h>

//エントリーポイント--------------------------------------------------
int     WINAPI  WinMain(  HINSTANCE    main_instance,
                               HINSTANCE     pre_instance,
                               LPSTR           argment_characters,
                               int               window_mode)
{
       MessageBox(  HWND_DESKTOP,
                         TEXT("メッセージボックスを作ってみた・・・"),
                         TEXT("MessageBox"),
                         MB_OK);
       return  0;
}
ソースのダウンロード

以降は”UNICODE"非使用でプロジェクトをたてていくことにする。
Win9xシリーズが”UNICODE"に対応してないから、と云うのは建前で面倒くさいってのが本音。
今も昔も、文字コードってやつは非常に多くの問題を抱えた部分なので、もう少し必要に迫られたら研究しようと思うが、今回のところはこのくらいで勘弁してやろう。(・・・強がり)。

<前章> <目次> <次章>





<時乃工房>
Net Office Nakai
メビウスリング投稿掲示板には小説日記ゲームアニメコミック小学生中学生などの掲示板過去ログがあります。相互リンクも募集中。