- 684 名前:デフォルトの名無しさん mailto:sage [2007/11/28(水) 23:50:05 ]
- ウィンドウにWS_EX_LAYEREDを設定し、32Bitビットマップを読み込み下の様にUpdateLayeredWindowを実行しましたが、
ウィンドウが消えてしまい、うまくビットマップを適用させることができません。 どこがおかしいか、何方か教えて頂けないでしょうか。 ReadFile(hFile , &bmpFileHeader , sizeof (BITMAPFILEHEADER) , &dwBytes , NULL); bmpInfo = (BITMAPINFO *) malloc (bmpFileHeader.bfOffBits - dwBytes); ReadFile(hFile , bmpInfo , bmpFileHeader.bfOffBits - dwBytes , &dwBytes , NULL); bPixelBits = (BYTE *) malloc (bmpFileHeader.bfSize - bmpFileHeader.bfOffBits); hdc = GetDC(hWnd); hBitmap = CreateDIBitmap(hdc , &bmpInfo->bmiHeader ,CBM_INIT , bPixelBits , bmpInfo , DIB_RGB_COLORS); hBuffer = CreateCompatibleDC(hdc); SelectObject(hBuffer , hBitmap); GetObject(hBitmap , sizeof (BITMAP) , &bitmap); wndPos.x = 100; wndPos.y = 100; surPos.x = surPos.y = 0; wndSize.cx = 300; wndSize.cy = 300; bf.BlendOp = AC_SRC_OVER; bf.BlendFlags = 0; bf.AlphaFormat = AC_SRC_ALPHA; bf.SourceConstantAlpha = 255; UpdateLayeredWindow( hWnd, GetDC( 0 ), &wndPos,&wndSize, hBuffer, &surPos, 0, &bf, ULW_ALPHA); 長文ですみません
|

|