これも「なぞのwarning」と同じで、文字コードに関するトラブルです。
(参照:ttp://hpcgi2.nifty.com/natupaji/bbs/patio.cgi?mode=view&no=680)
一応、プログラム内の変数型を一つ一つチェックしていくことでUnicodeに合わせることもできますが、
正直Unicodeを用いる利点が(今のところ)分からないので、次のような対応をお勧めします。
・メニューバーの「プロジェクト→(プロジェクト名)のプロパティを開く
・構成プロパティの「文字セット」を「マルチ バイト文字セットを使用する」に変更する
で、今度は恐らくitoa関数が使えないというエラーが出るかと思います。
(出なければ、以下は無視してかまいません)
これに対しては、プログラムを一部書き換えてやる必要があります。
「表示する文字列を作成」の内部6行を
sprintf(StrBuf, "座標 X:%4d Y:%4d", MouseX, MouseY);
に置き換え、プログラムの先頭にはインクルードファイル
#include <string.h>
を記述、追加します。
これで多分実行できるようになると思います(warningは出ますが…)
参考:修正後のプログラム
#include "DxLib.h"
#include <string.h>
int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance,
LPSTR lpCmdLine, int nCmdShow )
{
char StrBuf[ 128 ] ;
int MouseX , MouseY ;
int StringCr , BoxCr ;
if( DxLib_Init() == -1 ) // DXライブラリ初期化処理
{
return -1; // エラーが起きたら直ちに終了
}
// マウスを表示状態にする
SetMouseDispFlag( TRUE ) ;
// 白色の値を取得
StringCr = GetColor( 255 , 255 , 255 ) ;
// 黒の値を取得
BoxCr = GetColor( 0 , 0 , 0 ) ;
// キーが押されるまでループ
while( CheckHitKeyAll() == 0 )
{
// マウスの位置を取得
GetMousePoint( &MouseX , &MouseY ) ;
// 表示する文字列を作成
{
sprintf(StrBuf, "座標 X:%4d Y:%4d", MouseX, MouseY);
}
// 画面左上の領域に黒い四角を描き前に描いてあった
// 文字列を消す
DrawBox( 0 , 0 , 200 , 32 , BoxCr , TRUE ) ;
// 座標文字列を描く
DrawString( 0 , 0 , StrBuf , StringCr ) ;
// メッセージ処理
if( ProcessMessage() == -1 )
{
break ; // エラーが起きたらループを抜ける
}
// 一定時間待つ
WaitTimer( 100 ) ;
}
DxLib_End() ; // DXライブラリ使用の終了処理
return 0 ; // ソフトの終了
}