手元で以下のような GetDrawStringSizeToHandle を使用して描画文字列の大きさの
矩形を描画するプログラムを試してみましたが、異常な値は返されず、綺麗に
描画文字列を囲う矩形が描画されました
#include "DxLib.h"
int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow )
{
int FontHandle ;
int SizeX, SizeY, LineCount ;
const char *String = "ABCD\nEFGHI\nJKLMNOP" ;
// ウインドウモードで起動
ChangeWindowMode( TRUE ) ;
// DXライブラリの初期化
if( DxLib_Init() < 0 ) return -1 ;
// フォントハンドルの作成
FontHandle = CreateFontToHandle( NULL, 24, 0, DX_FONTTYPE_NORMAL ) ;
// 文字列の描画幅・高さ・行数を取得
GetDrawStringSizeToHandle( &SizeX, &SizeY, &LineCount, "ABCD\nEFGHI\nJKLMNOP", -1, FontHandle ) ;
// 実際に文字列を描画
DrawStringToHandle( 0, 0, String, GetColor( 255,255,255 ), FontHandle ) ;
// 文字列の描画幅・高さの矩形を描画
DrawBox( 0, 0, SizeX, SizeY, GetColor( 255,255,255 ), FALSE ) ;
// 行数を描画
DrawFormatString( 0, 100, GetColor( 255,255,255 ), "Line Count : %d", LineCount ) ;
// キー入力待ち
WaitKey() ;
// DXライブラリの後始末
DxLib_End() ;
// ソフトの終了
return 0 ;
}
よろしければ上記のプログラムであればへけぽんさんの環境でも正常に動作するか試して頂けないでしょうか? m(_ _)m