
设置定时器2秒启动
void
CXXDlg::OnTimer(UINT
nIDEvent)
{
KillTimer(nIDEvent)//
你的代码
OnCancel()
CDialog::OnTimer(nIDEvent)
}
添加消息循环
BEGIN_MESSAGE_MAP(CXXDlg,
CDialog)
……
ON_WM_TIMER()
END_MESSAGE_MAP()
分类: 电脑/网络 >>程序设计 >>其他编程语言问题描述:
我想用VC编一个小程序 作用是将一条已知端点的线段均分 求出其分点坐标(包括端点)(端点坐标 份数 需自己输入)C++程序已经写好了(可以运行) 但要将其可视化 有对话框的那种 不只是在命令提示符里那种 我不大会 请指教 怎么编写 大体步骤也可以 谢谢
解析:
vc的代码是:
void CLineDlg::OnPaint() //画一条直线
{
CDC *pDC=GetDC()
CPen newpen(PS_DASHDOTDOT,2,(COLORREF) 0)
CPen *oldpen=pDC->SelectObject(&newpen)
pDC->MoveTo(x1,y1)//这就是已知直线的起始端点坐标20,20
pDC->LineTo(x2,y2)//终点的坐标100,20
pDC->SelectObject(oldpen)
}
void CLineDlg::OnButton1()
{
CString str
str.Format("中点的坐标是: %d %d",(x1+x2)/2,(y1+y2)/2)
GetDlgItem(IDC_EDIT1)->SetWindowText(str)
}
这其中的x1,x2,y1,y2都是一个整数值,是一个全局变量
在构造函数当中要初始化,也就是要赋值。
最简单的方法就是使用OnTimer函数了,举例如下:1.建立一个对话框工程,给对话框加入WM_TIMER消息映射函数OnTimer,在OnInitDialog函数加入:
SetTimer(0,0,NULL)//启动定时器0通道
给对话框加入变量CTime m_bTime,m_setTime
给对话框加入一个CEdit控件,并关联变量CString m_secondStr
2.在OnTimer函数中加入代码:
m_bTime = CTime::GetCurrentTime() //取得当前时间
static CTimeSpan tp = m_setTime - m_bTime
m_secondStr.Format("剩余时间:%d天%d小时%d分%d秒",
tp.GetDays(),tp.GetHours(),tp.GetMinutes(),tp.GetSeconds())
UpdateData(false)
3.改变m_setTime,便可以设定到期时间。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)