DXライブラリ使わせていただいております。
質問なのですが、
フルスクリーン時にSetGraphModeとSetDrawAreaでワイド解像度指定すると、
(具体的には1280x740や1680x1050等)
画面が正しい解像度で表示されません。
ディスプレイは1680x1050を使っているので、1680x1050だけでも表示されればと思ったのですが、それも上手く出来ません。
DXライブラリではこれらの解像度での表示は出来ない、といったような事はありませんでしょうか。
お知恵を貸していただければと思い、書き込ませていただきました。
ソースは簡単ですが、以下の通りです。
#include "DxLib.h"
int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance,
LPSTR lpCmdLine, int nCmdShow )
{
enum AspectRatio {VGA,HI720p,WSXGA};
enum AspectRatio ScreenSize;
//ScreenSize=VGA;
//ScreenSize=HI720p;
ScreenSize=WSXGA;
switch (ScreenSize)
{
case VGA :
SetGraphMode( 1024 , 768 , 32 );
SetDrawArea( 0 , 0 , 1024 , 768 ) ;
break;
case HI720p :
SetGraphMode( 1280 , 740 , 32 );
SetDrawArea( 0 , 0 , 1280 , 740 ) ;
break;
case WSXGA :
SetGraphMode( 1680 , 1050 , 32 );
SetDrawArea( 0 , 0 , 1680 , 1050 ) ;
break;
}
//ChangeWindowMode( TRUE ) ;//ウインドウモードにする
ChangeWindowMode( FALSE ) ;//フルスクリーンモードにする
SetAlwaysRunFlag(TRUE) ;//ウインドウがアクティブではない状態でも処理を続行するか
SetDrawScreen( DX_SCREEN_BACK ) ; // 描画先画面を裏画面にセット
if( DxLib_Init() == -1 ) // DXライブラリ初期化処理
{return -1 ;} // エラーが起きたら直ちに終了
//------------------------------------------------------------------------------
while( ProcessMessage() == 0 && CheckHitKey( KEY_INPUT_ESCAPE ) == 0 ) //ESCキーを押すと終了
{
ClearDrawScreen() ; // 画面を消去
DrawBox( 0, 0, 1680, 1050, GetColor( 255,255,255 ), TRUE ) ;
ScreenFlip() ; // 裏画面の内容を表画面に反映させる
while( GetNowCount() < 17 ){} // 17ミリ秒(約秒間60フレームだった時の1フレームあたりの経過時間)経過するまで待つ
}
DxLib_End() ; // DXライブラリ使用の終了処理
return 0 ; // ソフトの終了
}
どうかよろしくお願いします。