DxLibMake.slnで
DxNetwork.cppの
デフォルトで553行目にあるWM_CREATEメッセージを
case WM_CREATE :
SetLayeredWindowAttributes(hWnd, RGB(0, 0, 0), 80, LWA_ALPHA|LWA_COLORKEY); //追加
hWnd = hWnd ;
break ;
DxWindow.cppの
デフォルトで1801行目にあるWM_CREATEメッセージを
case WM_CREATE :
// ウインドウが作成された直後の時の処理
SetLayeredWindowAttributes(hWnd, RGB(0, 0, 0), 80, LWA_ALPHA|LWA_COLORKEY); //追加
if( WinData.WindowRgn != NULL )
{
SetWindowRgn( hWnd, WinData.WindowRgn, FALSE ) ;
}
break ;
CreateWindowEx(
WExStyle_WindowModeTable[WinData.WindowStyle] + AddExStyle|WS_EX_LAYERED, //WS_EX_LAYEREDメッセージを追加した
WinData.ClassName ,
WinData.WindowText ,
WStyle_WindowModeTable[WinData.WindowStyle] + AddStyle,
WinData.WindowPosValid == TRUE ? WinData.WindowX : Rect.left,
WinData.WindowPosValid == TRUE ? WinData.WindowY : Rect.top,
WindowSizeX,
WindowSizeY,
NULL,WinData.Menu,
WinData.Instance,
NULL );
WinData.ToolBarHandle = CreateWindowEx(
WS_EX_LAYERED, //0をWS_EX_LAYEREDに変えた
TOOLBARCLASSNAME,
NULL,
WS_CHILD | WS_VISIBLE,
0, 0,
0, 0,
WinData.MainWindow,
NULL,
WinData.Instance,
NULL ) ;
出力されたライブラリおよびその他のファイルを
D:\DxLib_VC\プロジェクトに追加すべきファイル_VC用
内で上書き。
その後、そのファイルを参照する以下のようなdxlibプロジェクトを実行してみたのですが
#include "DxLib.h"
//真っ黒な画面に白い■が表示されているだけのプログラム
//画面の黒いピクセルを透過したい
int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance,
LPSTR lpCmdLine, int nCmdShow )
{
ChangeWindowMode( TRUE ) ;
if( DxLib_Init() == -1 )
{
return -1 ;
}
DrawBox( 320 , 240 ,500,600,GetColor(255,255,255),TRUE) ;
WaitKey() ;
DxLib_End() ;
return 0 ;
}
本来ならこういう質問はDirectXの勉強が完了してからしないといけないとは思うのですが
先に作りたくなってしまったので質問させていただきました。
よろしくお願いします