我是想在視頻上實作畫圖畫線的功能,思路是現在視頻框是放一個置頂的完全透明的對話框,然后在這個對話框上畫線。
然后在實作的程序中遇到如下問題:
一、利用SetWindowLong(m_hWnd, GWL_EXSTYLE, GetWindowLong(m_hWnd, GWL_EXSTYLE) ^ WS_EX_LAYERED);
SetLayeredWindowAttributes(1, 0, LWA_ALPHA | LWA_COLORKEY);使視窗完全透明后,畫上去的線看不見
二、利用if (nCtlColor == CTLCOLOR_DLG)
{
pDC->SetBkMode(TRANSPARENT);
return (HBRUSH)::GetStockObject(NULL_BRUSH);
}這種方法設定視窗透明后,在透明的視窗上畫線可以看見,但是有一層黑色的底色
求大神指教
uj5u.com熱心網友回復:
DirectComposition + WS_EX_NOREDIRECTIONBITMAP效果預覽
uj5u.com熱心網友回復:
不好意思啊,初學,看的不大懂,有沒有具體的代碼呢,謝謝uj5u.com熱心網友回復:
我剛才試了下,用long nStyle = GetWindowLong(m_hWnd, GWL_STYLE);nStyle = nStyle | WS_EX_NOREDIRECTIONBITMAP;
SetWindowLong(m_hWnd, GWL_EXSTYLE, nStyle);可以實作透明,但是畫上去的線看不見
uj5u.com熱心網友回復:
請問你的問題解決了嗎?轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/116857.html
標籤:界面
