首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VC/MFC >

图形时间,该怎么处理

2012-12-17 
图形时间画完一笔画后,如果想用鼠标双击来获取画一笔画所用的时间的话,应该在鼠标双击和按下的时候添加那

图形时间
画完一笔画后,如果想用鼠标双击来获取画一笔画所用的时间的话,应该在鼠标双击和按下的时候添加那些代码呢?
[解决办法]
定义一个变量clock_t start;
然后在鼠标按下时(开始画时)取开始时间:start=clock();
接下来在鼠标双击时计算时间:
clock_t start=clock()
double diff_time=(clock()-start)*1./CLOCKS_PER_SEC//将计算时间间隔!
diff_time是秒

[解决办法]
上面多了一行文字,改正如下:
定义一个变量clock_t start;
然后在鼠标按下时(开始画时)取开始时间:start=clock();
接下来在鼠标双击时计算时间:
double diff_time=(clock()-start)*1./CLOCKS_PER_SEC//将计算时间间隔!
diff_time是秒
[解决办法]
不对啊,楼主,时间是负数,我把我写的代码传上来,你帮我看看,我有好几个问题需要你帮忙。
[解决办法]
void CSyView::OnLButtonDown(UINT nFlags, CPoint point) 
{st=point;
start=clock();
}
void CSyView::OnLButtonUp(UINT nFlags, CPoint point) 
{
// TODO: Add your message handler code here and/or call default
st.x=-1;
CView::OnLButtonUp(nFlags, point);
}
void CSyView::OnMouseMove(UINT nFlags, CPoint point) 
{

// TODO: Add your message handler code here and/or call default
CRect rcclient;
        GetClientRect(&rcclient);
      if (rcclient.PtInRect(point))
       { if(st.x>=0)
{CDC *dc=GetDC();
ed=point;
CPen pen(Linestyle,w,penco);
    dc->SelectObject(&pen);
dc->MoveTo (st);
dc->LineTo (ed);
st=ed;}}
CView::OnMouseMove(nFlags, point);
}
void CSyView::OnLButtonDblClk(UINT nFlags, CPoint point) 
{double diff_time=(clock()-start)*1./CLOCKS_PER_SEC;
CString string;
string.Format("%d",diff_time);
AfxMessageBox("画多边形共用了"+string+"秒");}



[解决办法]
各位楼主,能不能用CTime来实现这个程序啊
[解决办法]
void CSyView::OnLButtonDblClk(UINT nFlags, CPoint point) 
{double diff_time=(clock()-start)*1./CLOCKS_PER_SEC;
CString string;
string.Format("%d",diff_time);
AfxMessageBox("画多边形共用了"+string+"秒");}
改为

void CSyView::OnLButtonDblClk(UINT nFlags, CPoint point) 
{double diff_time=(clock()-start)*1./CLOCKS_PER_SEC;
CString string;
string.Format("%f",diff_time);
AfxMessageBox("画多边形共用了"+string+"秒");}

热点排行