首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VC/MFC >

vc6.0,tree control有关问题

2012-11-09 
vc6.0,tree control问题往窗体上拉放了一个tree control ,能不能为它设置一张背景图片呢,如果能应该怎么编

vc6.0,tree control问题
往窗体上拉放了一个tree control ,能不能为它设置一张背景图片呢,如果能应该怎么编码实现呢?
求指点!!!

[解决办法]
在tree后面放个image的控件,设个tree透明那个行不行
[解决办法]

探讨
在tree后面放个image的控件,设个tree透明那个行不行

[解决办法]
在tree的在Onpaint中:
1.产生一个memDC。
2.把背景先画上
3.把这个DC传给tree叫他把自己画上去。
DefWindowProc(WM_PAINT,(WPARAM)&memDC);
4.bitblt这个memDC到pDC.

[解决办法]
C/C++ code
BOOL CYourTree::OnEraseBkgnd(CDC* pDC) {    CRect rc;    GetClientRect(&rc);    CDC MemDC;    MemDC.CreateCompatibleDC(pDC);    HBITMAP hBmp=(HBITMAP)MemDC.SelectObject(m_bitmap.m_hObject);    pDC->StretchBlt(0,0,rc.Width(),rc.Height(),&MemDC,0,0,320,240,SRCCOPY);// set back    (HBITMAP)MemDC.SelectObject(hBmp);// free    DeleteObject(MemDC);//    return TRUE;    }//void CYourTree::OnPaint() {    CPaintDC dc(this);// get size    CRect rc;    GetClientRect(&rc);// Create a compatible memory DC     CDC memDC;    memDC.CreateCompatibleDC(&dc);// Select a compatible bitmap into the memory DC    CBitmap bitmap;    bitmap.CreateCompatibleBitmap( &dc, rc.Width(), rc.Height());    HBITMAP oldBmp=(HBITMAP)memDC.SelectObject(&bitmap);// Let the control draws the tree.    DefWindowProc(WM_PAINT, (WPARAM)memDC.m_hDC, 0 );// 'and' to the background    dc.BitBlt(0,0,rc.Width(),rc.Height(),&memDC,0,0,SRCAND);// set back    memDC.SelectObject(oldBmp);// free    DeleteObject(bitmap.m_hObject);    DeleteObject(memDC);}
[解决办法]
关键:
// Let the control draws the tree.
DefWindowProc(WM_PAINT, (WPARAM)memDC.m_hDC, 0 );

热点排行