我在基于CScrollView的CMyView1的OnDraw()中画线,运行能显示,但是滚动滑动条就出现显示不完整的花屏,会有很长的尾巴如何解决????
解决方案 »
- 如何在clistctr非第一列只显示图标?
- SOCKET套接字 VC服务器 请教
- 求救!!!!长时间运行出错 RunTime Error! abnormal Program Termination
- 急!在线等待,如何在程序中打开CHM帮助文档,控制其只打开一次,并在主程序退出时将其关闭
- 推荐几本学习vc的好书,还行啊?
- 几个MFC问题,分不够可以再加,讨论有分,谢谢
- 如何处理CPropertySheet上的按钮?
- 关于停止线程问题。(来就有分)
- 怎样用MFC写一个学生管理程序,调用数据库,并对数据库进行操作?
- 小弟有一事不明。
- 求救:关于CreateCompatibleBitmap的用法
- 请教PRJ0019错误, 编译ffdshow的时候碰到的
{
CDHX04Doc* pDoc = GetDocument();
ASSERT_VALID(pDoc);
// TODO: add draw code for native data here
pDC->LineTo(1000+m_nPos,800);
}
void CDHX04View::OnInitialUpdate()
{
CScrollView::OnInitialUpdate(); CSize sizeTotal;
// TODO: calculate the total size of this view
sizeTotal.cx = 900;
sizeTotal.cy = 900;
SetScrollSizes(MM_TEXT, sizeTotal);
}
void CDHX04View::OnPrepareDC(CDC* pDC, CPrintInfo* pInfo)
{
// TODO: Add your specialized code here and/or call the base class
CScrollView::OnPrepareDC(pDC, pInfo);
pDC->SetViewportOrg(0,300);
}
void CDHX04View::OnHScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar)
{
// TODO: Add your message handler code here and/or call default
m_nPos = nPos;
CScrollView::OnHScroll(nSBCode, nPos, pScrollBar);
}
void CDHX04View::OnDraw(CDC* pDC)
{
CDHX04Doc* pDoc = GetDocument();
ASSERT_VALID(pDoc);
// TODO: add draw code for native data here
// pDC->LineTo(900,0);
OnPrepareDC(pDC);
pDC->TextOut(800-m_nPos,0-m_nPo,"nihao");
pDC->TextOut(0-m_nPos,800-m_nPo,"nihao");
}void CDHX04View::OnInitialUpdate()
{
CScrollView::OnInitialUpdate(); CSize sizeTotal;
// TODO: calculate the total size of this view
sizeTotal.cx = 900;
sizeTotal.cy = 900;
SetScrollSizes(MM_TEXT, sizeTotal);
}/////////////////////////////////////////////////////////////////////////////
// CDHX04View printingBOOL CDHX04View::OnPreparePrinting(CPrintInfo* pInfo)
{
// default preparation
return DoPreparePrinting(pInfo);
}void CDHX04View::OnBeginPrinting(CDC* /*pDC*/, CPrintInfo* /*pInfo*/)
{
// TODO: add extra initialization before printing
}void CDHX04View::OnEndPrinting(CDC* /*pDC*/, CPrintInfo* /*pInfo*/)
{
// TODO: add cleanup after printing
}/////////////////////////////////////////////////////////////////////////////
// CDHX04View diagnostics#ifdef _DEBUG
void CDHX04View::AssertValid() const
{
CScrollView::AssertValid();
}void CDHX04View::Dump(CDumpContext& dc) const
{
CScrollView::Dump(dc);
}CDHX04Doc* CDHX04View::GetDocument() // non-debug version is inline
{
ASSERT(m_pDocument->IsKindOf(RUNTIME_CLASS(CDHX04Doc)));
return (CDHX04Doc*)m_pDocument;
}
#endif //_DEBUG/////////////////////////////////////////////////////////////////////////////
// CDHX04View message handlersvoid CDHX04View::OnLog()
{
// TODO: Add your command handler code here
CLogDialog dlg;
dlg.DoModal();
}void CDHX04View::OnPrepareDC(CDC* pDC, CPrintInfo* pInfo)
{
// TODO: Add your specialized code here and/or call the base class
CScrollView::OnPrepareDC(pDC, pInfo);
pDC->SetViewportOrg(0-m_nPos,300-m_nPo);
}void CDHX04View::OnVScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar)
{
// TODO: Add your message handler code here and/or call default
CScrollView::OnVScroll(nSBCode, nPos, pScrollBar);
m_nPo = nPos;
Invalidate();
}void CDHX04View::OnHScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar)
{
// TODO: Add your message handler code here and/or call default
CScrollView::OnHScroll(nSBCode, nPos, pScrollBar);
m_nPos = nPos;
Invalidate();
}
就像这个,m_nPos有没有初始化呢?
pDC->TextOut(800-m_nPos,0-m_nPo,"nihao");