Win32API質問箱 Build68
レス数が900を超えています。1000を超えると表示できなくなるよ。
0910904
2008/07/30(水) 22:35:06変なとこ直したんですが、やはりクライアント領域が一部でも画面外に出てないと
裏の画面に写ってしまいます。何か足りないんでしょうか?
void GameWindow::setTransparent(int key,unsigned char rate,int flag){
if((flag | LWA_ALPHA | LWA_COLORKEY)==0)return;
LONG pre = ::GetWindowLong( hWnd, GWL_EXSTYLE ),tmp=pre;
if(flag | LWA_ALPHA){
if(rate == 255)pre &= ~WS_EX_LAYERED;
else pre |= WS_EX_LAYERED;
}
if(tmp != pre)::SetWindowLong( hWnd, GWL_EXSTYLE, pre );
::SetLayeredWindowAttributes(hWnd , RGB(key>>16,key>>8,key) , static_cast<BYTE>(rate) , flag );
}
描画はDirectXを使ってます。
レス数が900を超えています。1000を超えると表示できなくなるよ。