1个回答
展开全部
你的绘图函数要在OnDraw里面调用。
追问
能不能具体一点 用到的函数 在哪里写?
追答
你如果在DrawMyText函数里面绘制了文字,在一个按钮里面调用DrawMyText,比如下面的OnEditUndo,在你点击按钮的时候会绘制一次,但是在窗体改变时要进行重绘,窗体重绘会把窗体背景先全部擦除,然后调用OnPaint函数(OnDraw函数在OnPaint里面被调用),那么DrawMyText没有被调用,就不会显示文字。而窗体重绘每次都会调用OnDraw函数,因此把DrawMyText放在OnDraw里面。
void CTestView::DrawMyText()
{
CString str = _T("Hello");
GetDC()->TextOut(10, 10, str);
}
//点击按钮,
void CTestView::OnEditUndo()
{
DrawMyText(); //窗体重绘就消失了
}
// CTestView 绘制
//该函数在窗体重绘的时候调用
void CTestView::OnDraw(CDC* /*pDC*/)
{
CTestDoc* pDoc = GetDocument();
ASSERT_VALID(pDoc);
if (!pDoc)
return;
DrawMyText(); //正确的调用
}
够不够详细了,采纳吧,哈哈。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询