我要让ontimer实现的功能就是作为定时器,每100毫秒就让offset这个值增加5
代码如下:求哪位大哥给与帮助撒!!!
SetTimer(1,1000,NULL);
void CAboutDlg::OnTimer(UINT_PTR nIDEvent)
{
// TODO: 在此添加消息处理程序代码和/或调用默认值
offset+=5;
CDialogEx::OnTimer(nIDEvent);
//RedrawWindow();}c++,ontimer
代码如下:求哪位大哥给与帮助撒!!!
SetTimer(1,1000,NULL);
void CAboutDlg::OnTimer(UINT_PTR nIDEvent)
{
// TODO: 在此添加消息处理程序代码和/或调用默认值
offset+=5;
CDialogEx::OnTimer(nIDEvent);
//RedrawWindow();}c++,ontimer
另外,很少在CAboutDlg类中使用Timer(),因为较少在此类中干活。
BOOL CAboutDlg::OnInitDialog()
{
CDialogEx::OnInitDialog(); // TODO: 在此添加额外的初始化
SetTimer(1,100,NULL); return TRUE; // return TRUE unless you set the focus to a control
// 异常: OCX 属性页应返回 FALSE
}
CAboutDlg是关于界面。也就显示个版本信息而已啊
ON_WM_TIMER()
END_MESSAGE_MAP()
class CAboutDlg : public CDialog
{
public:
CAboutDlg();
// 对话框数据
enum { IDD = IDD_ABOUTBOX };
UINT m_Timer;
protected:
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV 支持// 实现
protected:
DECLARE_MESSAGE_MAP()public:
virtual BOOL OnInitDialog();
afx_msg void OnTimer(UINT_PTR nIDEvent);
afx_msg void OnBnClickedOk();
};CAboutDlg::CAboutDlg() : CDialog(CAboutDlg::IDD)
{
}void CAboutDlg::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
}BEGIN_MESSAGE_MAP(CAboutDlg, CDialog)
ON_WM_TIMER()
ON_BN_CLICKED(IDOK, &CAboutDlg::OnBnClickedOk)
END_MESSAGE_MAP()int iInum = 0;
void CAboutDlg::OnTimer(UINT_PTR nIDEvent)
{
//响应消息
CString strPrint = _T("");
strPrint.Format(_T("%03.3d"), iInum++);
CClientDC dc(this);
dc.TextOut(0,0, strPrint);
CDialog::OnTimer(nIDEvent);
}BOOL CAboutDlg::OnInitDialog()
{
CDialog::OnInitDialog();
//启动计时器
m_Timer = SetTimer(1, 1000, 0);
return TRUE;
}void CAboutDlg::OnBnClickedOk()
{
//关闭计时器
KillTimer(m_Timer);
OnOK();
}
BOOL CSimulationoscilloscopeDlg::OnInitDialog()
{
CDialogEx::OnInitDialog(); // 将“关于...”菜单项添加到系统菜单中。 // IDM_ABOUTBOX 必须在系统命令范围内。
ASSERT((IDM_ABOUTBOX & 0xFFF0) == IDM_ABOUTBOX);
ASSERT(IDM_ABOUTBOX < 0xF000); CMenu* pSysMenu = GetSystemMenu(FALSE);
if (pSysMenu != NULL)
{
BOOL bNameValid;
CString strAboutMenu;
bNameValid = strAboutMenu.LoadString(IDS_ABOUTBOX);
ASSERT(bNameValid);
if (!strAboutMenu.IsEmpty())
{
pSysMenu->AppendMenu(MF_SEPARATOR);
pSysMenu->AppendMenu(MF_STRING, IDM_ABOUTBOX, strAboutMenu);
}
} // 设置此对话框的图标。当应用程序主窗口不是对话框时,框架将自动
// 执行此操作
SetIcon(m_hIcon, TRUE); // 设置大图标
SetIcon(m_hIcon, FALSE); // 设置小图标 // TODO: 在此添加额外的初始化代码
SetTimer(1,100,NULL);
return TRUE; // 除非将焦点设置到控件,否则返回 TRUE
}void CSimulationoscilloscopeDlg::OnTimer(UINT_PTR nIDEvent)
{
// TODO: 在此添加消息处理程序代码和/或调用默认值 offset+=5;
CDialogEx::OnTimer(nIDEvent);
RedrawWindow();
}