アプリケーションで透過性を作成しようとしています。たとえば、私のアプリのウィンドウは正方形で、ウィンドウの一部を非表示にして丸くしたいと考えています。
私のコードは次のようになります。
HDC hdcMask = nullptr;
HBITMAP hBMP = (HBITMAP)LoadImageW(nullptr, L"C:\\mask.bmp", IMAGE_BITMAP, 150, 160, LR_LOADFROMFILE);
SelectObject(hdcMask, hBMP);
HWND hWnd = GetActiveWindow();
HDC hdcWindow = GetDC(hWnd);
TransparentBlt(hdcWindow, 0, 0, 150, 160, hdcWindow, 0, 0, 150, 160, RGB(0,0,0));
mask.bmp はビットマップで、白は透明にしたいもの、黒は可視にしたいものです。
このコードを適用した後、何も起こりません。私は何を間違っていますか?目的の結果を得る別の方法はありますか?
注: Windows XP OS 以降で動作するには、このコードが必要です。