请高手帮帮忙!视图的问题 我的程序将主窗口切分成了左右视图,我想给他们换上不同的背景图片,请问,可以实现吗,怎么做? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 在不同的View中显示各自的内容就可以了 BOOL CDataCommFrame::OnCreateClient(LPCREATESTRUCT lpcs, CCreateContext* pContext) { ... m_pListView1 = (CListView1*)m_wndSplitter.GetPane(0, 0); m_pListView2 = (CListView2*)m_wndSplitter.GetPane(1, 0); return CFrameWnd::OnCreateClient(lpcs, pContext);} 在自己VIEW中的WM_PAINT消息里写上你的背景就成了 呵呵,在视图类里面的OnDraw绘图就可以了你可以用两个view类,然后在两个view类里面分别绘图,绘不同的图,呵呵 绘制背景最好的方法是响应WM_ERASEBKGND消息。画面不会抖动,不需要别的技术。样例如下:BOOL CViewRefurbishView::OnEraseBkgnd(CDC* pDC) { HBITMAP hBmp = (HBITMAP)LoadImage(AfxGetInstanceHandle(),"C:\\background.bmp",IMAGE_BITMAP,0,0,LR_LOADFROMFILE); HDC hMemDC = CreateCompatibleDC(pDC->m_hDC); CBitmap bmp; bmp.Attach(hBmp); BITMAP bm; bmp.GetBitmap(&bm); SelectObject(hMemDC,hBmp); CRect rc; GetClientRect(rc); StretchBlt(pDC->m_hDC,0,0,rc.Width(),rc.Height(),hMemDC,0,0,bm.bmWidth,bm.bmHeight,SRCCOPY); bmp.DeleteObject(); return TRUE;} 在OnDraw里实现OnEraseBkgnd返回FALSE 不能实现IDispatch接口 一个3通宵没有解决的编译错误,求 GDI+难道不能两个窗口一起用么?高手们来现身说法吧! 直线旋转 100分 问个简单问题 问个简单的问题:关于光标`~~~我给分很大方的 函数为什么不执行? smtp的MAIL FROM和RCPT TO 和信体内的From ,To地址有什么区别啊? 怎样学一门语言 怎样做一个SCO UNIX 和 NT4 的双操作系统? 如何判断系统装Flash播放器没有?(VC) 在多文档中动态创建activex后,如何进行动态属性设置啊,高手帮忙啊
{
...
m_pListView1 = (CListView1*)m_wndSplitter.GetPane(0, 0);
m_pListView2 = (CListView2*)m_wndSplitter.GetPane(1, 0);
return CFrameWnd::OnCreateClient(lpcs, pContext);
}
BOOL CViewRefurbishView::OnEraseBkgnd(CDC* pDC)
{
HBITMAP hBmp = (HBITMAP)LoadImage(AfxGetInstanceHandle(),"C:\\background.bmp",IMAGE_BITMAP,0,0,LR_LOADFROMFILE);
HDC hMemDC = CreateCompatibleDC(pDC->m_hDC);
CBitmap bmp;
bmp.Attach(hBmp);
BITMAP bm;
bmp.GetBitmap(&bm);
SelectObject(hMemDC,hBmp);
CRect rc;
GetClientRect(rc);
StretchBlt(pDC->m_hDC,0,0,rc.Width(),rc.Height(),hMemDC,0,0,bm.bmWidth,bm.bmHeight,SRCCOPY);
bmp.DeleteObject();
return TRUE;
}
OnEraseBkgnd返回FALSE