はじめまして。
Windowsアプリは初心者でして
今回初めてDXライブラリを使用させていただきました。
VisualStudio2008Expressで下記リストのプログラムをビルドしてみたのですが、ウィンドウの右下をドラッグしてウィンドウサイズを変更した場合、ウィンドウ内の表示の描画倍率が変化しません。
ウィンドウのサイズがデフォルトの640x480より大きくなると、Windowsの元の画面の残骸がウィンドウ内に残ってしまう状況です。
ウィンドウのサイズに合わせて描画を変化させるためには何か他に指定が必要なのでしょうか?
アドバイスをいただけるとありがたいです。
便乗の質問になりますが、ウィンドウのサイズがリサイズされた場合に、自動で拡大縮小されるのではなく能動的に描画を切り替えるためにウィンドウの描画領域のサイズを得る関数のようなものはあるのでしょうか?併せてご教授いただけるとありがたいです。
よろしくお願いいたします。
以下、リストです。
#include "DxLib.h"
#include <process.h>
int global_i ;
void incliment(void *p){
while(1){
global_i ++ ;
WaitVSync( 1 ) ;
}
}
// プログラムは WinMain から始まります
int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance,
LPSTR lpCmdLine, int nCmdShow )
{
int i ;
i=0 ;
global_i = 0 ;
ChangeWindowMode(TRUE);
SetWindowSizeChangeEnableFlag( TRUE,TRUE ) ;
SetDrawScreen(DX_SCREEN_BACK) ;
SetAlwaysRunFlag( TRUE ) ;
SetBackgroundColor( 0, 0, 60 );
if( DxLib_Init() == -1 ){return -1 ;}
_beginthread(
incliment,//スレッド関数のアドレス
0,//スタックサイズ。0でもよい
NULL
);
DrawPixel( 320 , 240 , 0xffffff ) ; // 点を打つ
while(1){
i ++ ;
ClearDrawScreen () ;
DrawPixel( 320 , 240 , 0xffffff ) ; // 点を打つ
clsDx() ;
printfDx( "hello word %4d %4d \n",i,global_i) ;
ScreenFlip() ;
if( ProcessMessage() == -1 ){break ;}
}
DxLib_End() ; // DXライブラリ使用の終了処理
return 0 ; // ソフトの終了
}