在继承自Cscrollview的视图中画矩形,在滚动时矩形花掉,有很多线条痕迹 本帖最后由 yulian33 于 2012-10-16 08:58:46 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 你处理了拖动滚动条的消息了没有?WM_HSCROLL/WM_VSCROLL? 没做任何处理,我只在某些地方处理了SetScrollSizes (MM_LOMETRIC, CSize(pageWidth+100, pageHeight+100)); 在WM_HSCROLL/WM_VSCROLL这两个消息函数里加中这句就行:Invalidate(FALSE);//参数是FALSE,表明只更新无效部分,如果是TRUE,就全部重新画,这样就会闪烁了 void CPreView::OnVScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar){ // TODO: Add your message handler code here and/or call default Invalidate(FALSE); CScrollView::OnVScroll(nSBCode, nPos, pScrollBar);}这样吗还是不行啊,还是会花掉 在ondraw中这样, m_nHScrollPos = GetScrollPos(SB_HORZ); m_nVScrollPos = GetScrollPos(SB_VERT); // pDC->SetWindowOrg (m_nHScrollPos, -m_nVScrollPos); pDC->SetViewportOrg (m_nHScrollPos, -m_nVScrollPos); pDC->Rectangle(PaperRect);貌似就好了,我不知道SetWindowOrg 和SetViewportOrg 是什么意思,到底起什么作用 “没做任何处理,我只在某些地方处理了SetScrollSizes (MM_LOMETRIC, CSize(pageWidth+100, pageHeight+100));”把100 加大就可以了 如1000 试试。 其实ScrollSize是要根据你需要滚动多大来设置的,如一页的大小。这样保证完整的一页能 滚动就行了。 windows程序设计的第六章的一个问题 做COM对象时,那个lpVtbl指针变量可不可以换成别的名字? 请教程序按钮响应--当按下按钮时激活IE地址栏并全选网址 VC列表插入 请问如何捕获软键盘的按键信息?? 得到本机和其它机器的IP地址和网卡MAC地址,是不是必须用PLATFORM? 请教:VC中可以调用VJ中的函数吗? 非常奇怪的错误,找不到原因,请高手解释 如何理解 int *(*menu())()---有请各路高手 CClientDC+CBrush 绘制 圆形、矩形 时怎么去掉轮廓线? 对话框程序中因ALT键引发的问题,期盼高人现身。 XproerIM2开源
SetScrollSizes (MM_LOMETRIC, CSize(pageWidth+100, pageHeight+100));
Invalidate(FALSE);//参数是FALSE,表明只更新无效部分,如果是TRUE,就全部重新画,这样就会闪烁了
{
// TODO: Add your message handler code here and/or call default
Invalidate(FALSE);
CScrollView::OnVScroll(nSBCode, nPos, pScrollBar);
}
这样吗还是不行啊,还是会花掉
m_nHScrollPos = GetScrollPos(SB_HORZ);
m_nVScrollPos = GetScrollPos(SB_VERT);
// pDC->SetWindowOrg (m_nHScrollPos, -m_nVScrollPos);
pDC->SetViewportOrg (m_nHScrollPos, -m_nVScrollPos);
pDC->Rectangle(PaperRect);
貌似就好了,我不知道SetWindowOrg 和SetViewportOrg 是什么意思,到底起什么作用
SetScrollSizes (MM_LOMETRIC, CSize(pageWidth+100, pageHeight+100));”
把100 加大就可以了 如1000 试试。
这样保证完整的一页能 滚动就行了。