找了很久只找到設定背景單色的,
m_mschart1.GetBackdrop().GetFill().SetStyle(1);
m_mschart1.GetBackdrop().GetFill().GetBrush().GetFillColor().Set(255,255,0);
我想把背景換成圖片,求教大神 怎么弄啊?
uj5u.com熱心網友回復:
自繪是早晚要學會的技能。uj5u.com熱心網友回復:
https://stackoverflow.com/questions/17321587/mfc-set-a-background-image-on-a-controluj5u.com熱心網友回復:
趙4老師能給個詳細點的步驟嗎?我自建了基于mschart的類后,在OnCtlColor和ondrawItem中設定以下兩種方式都不起作用阿
1.pDC->SetBkMode(TRANSPARENT);
return HBRUSH(GetStockObject(NULL_BRUSH));
2.GetWindowRect( &rcColorListBox );//獲取靜態文本框的矩形
pParent = GetParent();//靜態文本框的父視窗
if( pParent ){
pParent->ScreenToClient( &rcColorListBox );//轉換到父視窗的客區坐標.
pParent->RedrawWindow( &rcColorListBox );//讓父視窗來重繪
}
uj5u.com熱心網友回復:
按這樣重寫了,還是沒出現透明效果,背景色也沒改過來...
CBrush m_br;
m_br.CreateSolidBrush(RGB(255,0,0));
LRESULT CMschartbg::WindowProc(UINT message, WPARAM wParam, LPARAM lParam)
{
if (::GetDlgCtrlID((HWND) lParam) == IDC_MSCHART1)
{ HWND hWnd = (HWND) lParam;
HDC hDC = (HDC) wParam;
RECT rc;
::GetClientRect(hWnd, &rc);
HBRUSH hOldBrush = (HBRUSH) ::SelectObject(hDC, m_br);
::Rectangle(hDC, rc.left, rc.top, rc.right, rc.bottom);
::SelectObject(hDC, hOldBrush);
}
// return (LRESULT) m_br.GetSafeHandle();
return CWnd::WindowProc(message, wParam, lParam);
}
uj5u.com熱心網友回復:
我是新手,求給個稍微詳細點的
uj5u.com熱心網友回復:
TransparentBltAlphaBlend
?
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/85604.html
標籤:界面
下一篇:獲取聲音片段流
