关于计时器位置的!!!
int CMFCView::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
if (CView::OnCreate(lpCreateStruct) == -1)
return -1;
// TODO: 在此添加您专用的创建代码
/* CClientDC dc(this);
TEXTMETRIC tm;
dc.GetTextMetrics(&tm);
CreateSolidCaret(tm.tmAveCharWidth/8,tm.tmHeight);
ShowCaret();*/
SetTimer(1,100,NULL);
return 0;
}
定义了一个SDI,我想问大家SetTimer(1,100,NULL);这个函数需要放在什么位置吗?
void CMFCView::OnDraw(CDC* /*pDC*/)
{
CMFCDoc* pDoc = GetDocument();
ASSERT_VALID(pDoc);
if (!pDoc)
return;
/* CString str("hello world!");
CDC *pDC=GetDC();
pDC->TextOut(50,50,str);
CSize sz=pDC->GetTextExtent(str);
str.LoadString(IDS_STRING101);
pDC->TextOut(300,300,str);
pDC->BeginPath();
pDC->Rectangle(50,50,50+sz.cx,50+sz.cy);
pDC->EndPath();
pDC->SelectClipPath(RGN_XOR);
//CString str1;
//str1.LoadString(IDS_STRING101);
//pDC->TextOut(100,100,str1);
for(int i=0;i<=300;i+=10)
{
pDC->MoveTo(0,i);
pDC->LineTo(300,i);
pDC->MoveTo(i,0);
pDC->LineTo(i,300);
}
ReleaseDC(pDC);
*/
// TODO: 在此处为本机数据添加绘制代码
SetTimer(1,100,NULL);
}
上面两个函数,我随便放在任意一个函数中,都能实现我的功能,请问SetTimer(1,100,NULL);
是不是放在CMFCView中任意位置都可以啊?还是有什么讲究呢?