0
我想使用一個CDC
,其中繪製3位圖,位於CDC
,然後將它傳遞到UpdateLayeredWindow
。我的問題是,我無法獲得UpdateLayeredWindow函數的SIZE* psize
參數!誰可以幫忙?我該怎麼辦?在MFC中的一個設備上下文中繪製多個位圖 - winapi
BLENDFUNCTION bBlendFnc = {
AC_SRC_OVER,
0,
255,
AC_SRC_ALPHA
};
CBitmap btCdcBuff;
CBitmap* cache;
BITMAP hbCdcBuff;
btCdcBuff.CreateCompatibleBitmap(pCdcMain, szWndSize.cx, szWndSize.cy); btCdcBuff.GetBitmap(&hbCdcBuff);
cache = pCdcMain->SelectObject(&btCdcBuff); // pCdcMain is a compatible CDC with the screen (pCdcScreen)
Blend(&btIcon); // This function just creates a compatible CDC from a CPaintDC, selects the passed in CBitmap via SelectObject and AlphaBlends it to the pCdcMain.
pCdcMain->SelectObject(cache);
UpdateLayeredWindow(pCdcScreen, NULL, new CSize(hbCdcBuff.bmWidth, hbCdcBuff.bmHeight), pCdcMain, new CPoint(0, 0), 0, &bBlendFnc, ULW_ALPHA) // This fails and returns false
psize參數是什麼函數?向我們展示一小段仍然可以證明問題的代碼,並指出您遇到問題的確切部分,我們將處於更好的位置。 – 2012-04-19 15:43:27
有一些示例代碼演示了我在這裏嘗試做什麼。謝謝。 – user965369 2012-04-19 15:55:52