おそらくDXライブラリ的にはマウスは自分で監視するのが筋なのだと思いますが、私は以下のような感じでできました。
(ウィンドウプロシージャでメッセージを処理しなかった場合の戻り値が 0 で良いのかちょっと不安ですが・・・)
//- 以下、テストコード -//
#include "DxLib.h"
LRESULT CALLBACK WndProc( HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam )
{
switch ( msg ) {
case WM_LBUTTONDBLCLK:
MessageBox( 0, "WM_LBUTTONDBLCLK", "TEST", MB_OK );
return 0;
case WM_RBUTTONDOWN:
MessageBox( 0, "WM_RBUTTONDOWN", "TEST", MB_OK );
return 0;
default:
break;
}
return 0;
}
int WINAPI WinMain( HINSTANCE, HINSTANCE, LPSTR, int )
{
ChangeWindowMode( TRUE );
SetHookWinProc( WndProc );
SetMouseDispFlag( TRUE );
SetWindowText( "DxLib:" DXLIB_VERSION_STR );
if ( DxLib_Init( ) == -1 ) return -1;
int white = GetColor( 255, 255, 255 );
SetClassLong( GetMainWindowHandle( ), GCL_STYLE, GetClassLong( GetMainWindowHandle( ), GCL_STYLE ) | CS_DBLCLKS );
SetDrawScreen( DX_SCREEN_BACK );
while ( ProcessMessage( ) == 0 && CheckHitKey( KEY_INPUT_ESCAPE ) == 0 ) {
ClearDrawScreen( );
DrawFormatString( 0, 0, white, "TEST" );
ScreenFlip( );
}
DxLib_End( );
return 0;
}