メニュー
|
第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"に対応してないから、と云うのは建前で面倒くさいってのが本音。
今も昔も、文字コードってやつは非常に多くの問題を抱えた部分なので、もう少し必要に迫られたら研究しようと思うが、今回のところはこのくらいで勘弁してやろう。(・・・強がり)。
|
|