没有找到合适的产品?
联系客服协助选型:023-68661681
提供3000多款全球软件/控件产品
针对软件研发的各个阶段提供专业培训与技术咨询
根据客户需求提供定制化的软件开发服务
全球知名设计软件,显著提升设计质量
打造以经营为中心,实现生产过程透明化管理
帮助企业合理产能分配,提高资源利用率
快速打造数字化生产线,实现全流程追溯
生产过程精准追溯,满足企业合规要求
以六西格玛为理论基础,实现产品质量全数字化管理
通过大屏电子看板,实现车间透明化管理
对设备进行全生命周期管理,提高设备综合利用率
实现设备数据的实时采集与监控
利用数字化技术提升油气勘探的效率和成功率
钻井计划优化、实时监控和风险评估
提供业务洞察与决策支持实现数据驱动决策
翻译|其它|编辑:郝浩|2006-06-02 10:25:00.000|阅读 3200 次
概述:
# 界面/图表报表/文档/IDE等千款热门软控件火热销售中 >>
/////////////////////////////////////////// MyTimer.h: interface for the CMyTimer class. #if !defined(AFX_MYTIMER_H__D97674D1_B221_49CD_9637_4CBA8C3180CE__INCLUDED_) #define AFX_MYTIMER_H__D97674D1_B221_49CD_9637_4CBA8C3180CE__INCLUDED_ #include <afxtempl.h> #if _MSC_VER > 1000 #pragma once #endif // _MSC_VER > 1000 class CMyTimer; typedef CMap<UINT,UINT,CMyTimer*,CMyTimer*> CTimerMap; class CMyTimer { public: //设置定时器,nElapse表示时间间隔,sz表示要提示的内容 void SetMyTimer(UINT nElapse,CString sz); //销毁该实例的定时器 void KillMyTimer(); //保存该实例的定时器标志值 UINT m_nTimerID; //静态数据成员要提示的内容 CString szContent; //静态数据成员,映射表类,用于保存所有的定时器信息 static CTimerMap m_sTimeMap; //静态成员函数,用于处理定时器的消息 static void CALLBACK MyTimerProc(HWND hwnd,UINT uMsg,UINT idEvent,DWORD dwTime); CMyTimer(); virtual ~CMyTimer(); }; #endif ///////////////////////////////////// MyTimer.cpp: implementation of the CMyTimer class. #include "stdafx.h" #include "TimerDemo.h" #include "MyTimer.h" #ifdef _DEBUG #undef THIS_FILE static char THIS_FILE[]=__FILE__; #define new DEBUG_NEW #endif CTimerMap CMyTimer::m_sTimeMap; CMyTimer::CMyTimer() { m_nTimerID = 0; } CMyTimer::~CMyTimer() {} void CALLBACK CMyTimer::MyTimerProc(HWND hwnd,UINT uMsg,UINT idEvent,DWORD dwTime) { CString sz; sz.Format("%d号定时器:%s",idEvent,m_sTimeMap[idEvent]->szContent); AfxMessageBox(sz); } void CMyTimer::SetMyTimer(UINT nElapse,CString sz) { szContent = sz; m_nTimerID = SetTimer(NULL,NULL,nElapse,MyTimerProc); m_sTimeMap[m_nTimerID] = this; } void CMyTimer::KillMyTimer() { KillTimer(NULL,m_nTimerID); m_sTimeMap.RemoveKey(m_nTimerID); } //////////////////////////////////////////////////////// TimerDemoDlg.h : header file #if !defined(AFX_TIMERDEMODLG_H__83D29A02_A119_4900_AB57_D6D011547F90__INCLUDED_) #define AFX_TIMERDEMODLG_H__83D29A02_A119_4900_AB57_D6D011547F90__INCLUDED_ #include "Person.h" // Added by ClassView #include "MyTimer.h" // Added by ClassView #if _MSC_VER > 1000 #pragma once #endif // _MSC_VER > 1000 /////////// CTimerDemoDlg dialog class CTimerDemoDlg : public CDialog { // Construction public: CMyTimer m_myTimer3; CMyTimer m_myTimer2; CMyTimer m_myTimer1; CPerson m_Person; CTimerDemoDlg(CWnd* pParent = NULL); // standard constructor //{{AFX_DATA(CTimerDemoDlg) enum { IDD = IDD_TIMERDEMO_DIALOG }; // NOTE: the ClassWizard will add data members here //}}AFX_DATA // ClassWizard generated virtual function overrides //{{AFX_VIRTUAL(CTimerDemoDlg) protected: virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support //}}AFX_VIRTUAL // Implementation protected: HICON m_hIcon; // Generated message map functions //{{AFX_MSG(CTimerDemoDlg) virtual BOOL OnInitDialog(); afx_msg void OnSysCommand(UINT nID, LPARAM lParam); afx_msg void OnPaint(); afx_msg HCURSOR OnQueryDragIcon(); afx_msg void OnButton1(); afx_msg void OnTimer(UINT nIDEvent); afx_msg void OnButton2(); afx_msg void OnButton3(); afx_msg void OnButton8(); afx_msg void OnButton9(); afx_msg void OnButton10(); afx_msg void OnButton11(); afx_msg void OnButton12(); afx_msg void OnButton13(); //}}AFX_MSG DECLARE_MESSAGE_MAP() }; #endif //////////////////////////////////////////// TimerDemoDlg.cpp : implementation file #include "stdafx.h" #include "TimerDemo.h" #include "TimerDemoDlg.h" #ifdef _DEBUG #define new DEBUG_NEW #undef THIS_FILE static char THIS_FILE[] = __FILE__; #endif CTimerDemoDlg::CTimerDemoDlg(CWnd* pParent /*=NULL*/) : CDialog(CTimerDemoDlg::IDD, pParent) { //{{AFX_DATA_INIT(CTimerDemoDlg) // NOTE: the ClassWizard will add member initialization here //}}AFX_DATA_INIT // Note that LoadIcon does not require a subsequent DestroyIcon in Win32 m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME); } void CTimerDemoDlg::DoDataExchange(CDataExchange* pDX) { CDialog::DoDataExchange(pDX); //{{AFX_DATA_MAP(CTimerDemoDlg) // NOTE: the ClassWizard will add DDX and DDV calls here //}}AFX_DATA_MAP } BEGIN_MESSAGE_MAP(CTimerDemoDlg, CDialog) //{{AFX_MSG_MAP(CTimerDemoDlg) ON_WM_SYSCOMMAND() ON_WM_PAINT() ON_WM_QUERYDRAGICON() ON_BN_CLICKED(IDC_BUTTON1, OnButton1) ON_WM_TIMER() ON_BN_CLICKED(IDC_BUTTON2, OnButton2) ON_BN_CLICKED(IDC_BUTTON3, OnButton3) ON_BN_CLICKED(IDC_BUTTON8, OnButton8) ON_BN_CLICKED(IDC_BUTTON9, OnButton9) ON_BN_CLICKED(IDC_BUTTON10, OnButton10) ON_BN_CLICKED(IDC_BUTTON11, OnButton11) ON_BN_CLICKED(IDC_BUTTON12, OnButton12) ON_BN_CLICKED(IDC_BUTTON13, OnButton13) //}}AFX_MSG_MAP END_MESSAGE_MAP() BOOL CTimerDemoDlg::OnInitDialog() { CDialog::OnInitDialog(); // IDM_ABOUTBOX must be in the system command range. ASSERT((IDM_ABOUTBOX & 0xFFF0) == IDM_ABOUTBOX); ASSERT(IDM_ABOUTBOX < 0xF000); CMenu* pSysMenu = GetSystemMenu(FALSE); if (pSysMenu != NULL) { CString strAboutMenu; strAboutMenu.LoadString(IDS_ABOUTBOX); if (!strAboutMenu.IsEmpty()) { pSysMenu->AppendMenu(MF_SEPARATOR); pSysMenu->AppendMenu(MF_STRING, IDM_ABOUTBOX, strAboutMenu); } } SetIcon(m_hIcon, TRUE); // Set big icon SetIcon(m_hIcon, FALSE); // Set small icon return TRUE; // return TRUE unless you set the focus to a control } void CTimerDemoDlg::OnSysCommand(UINT nID, LPARAM lParam) { if ((nID & 0xFFF0) == IDM_ABOUTBOX) { CAboutDlg dlgAbout; dlgAbout.DoModal(); } else { CDialog::OnSysCommand(nID, lParam); } } void CTimerDemoDlg::OnPaint() { if (IsIconic()) { CPaintDC dc(this); // device context for painting SendMessage(WM_ICONERASEBKGND, (WPARAM) dc.GetSafeHdc(), 0); // Center icon in client rectangle int cxIcon = GetSystemMetrics(SM_CXICON); int cyIcon = GetSystemMetrics(SM_CYICON); CRect rect; GetClientRect(&rect); int x = (rect.Width() - cxIcon + 1) / 2; int y = (rect.Height() - cyIcon + 1) / 2; // Draw the icon dc.DrawIcon(x, y, m_hIcon); } else { CDialog::OnPaint(); } } HCURSOR CTimerDemoDlg::OnQueryDragIcon() { return (HCURSOR) m_hIcon; } void CTimerDemoDlg::OnButton1() { m_Person.szMotto = "我的座右铭是:奋斗加运气等于成功!"; m_Person.GetMottoStaic(m_Person.pThis); } void CTimerDemoDlg::OnTimer(UINT nIDEvent) { switch(nIDEvent) { case 1: CTime m_SysTime = CTime::GetCurrentTime(); SetDlgItemText(IDC_STATIC_TIME,m_SysTime.Format("%Y年%m月%d日 %H:%M:%S")); break; } CDialog::OnTimer(nIDEvent); } void CTimerDemoDlg::OnButton2() { SetTimer(1,1000,NULL); } void CTimerDemoDlg::OnButton3() { KillTimer(1); SetDlgItemText(IDC_STATIC_TIME,"电子钟定时器被关闭了 ->"); } void CTimerDemoDlg::OnButton8() { m_myTimer1.SetMyTimer(5000,"该起床了!"); } void CTimerDemoDlg::OnButton9() { m_myTimer2.SetMyTimer(10000,"该工作了!"); } void CTimerDemoDlg::OnButton10() { m_myTimer3.SetMyTimer(15000,"该睡觉了!"); } void CTimerDemoDlg::OnButton11() { m_myTimer1.KillMyTimer(); } void CTimerDemoDlg::OnButton12() { m_myTimer2.KillMyTimer(); } void CTimerDemoDlg::OnButton13() { m_myTimer3.KillMyTimer(); } |
本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@evget.com
面对“数字中国”建设和中国制造2025战略实施的机遇期,中车信息公司紧跟时代的步伐,以“集约化、专业化、标准化、精益化、一体化、平台化”为工作目标,大力推进信息服务、工业软件等核心产品及业务的发展。在慧都3D解决方案的实施下,清软英泰建成了多模型来源的综合轻量化显示平台、实现文件不失真的百倍压缩比、针对模型中的大模型文件,在展示平台上进行流畅展示,提升工作效率,优化了使用体验。
本站的模型资源均免费下载,登录后即可下载。模型仅供学习交流,勿做商业用途。
本站的模型资源均免费下载,登录后即可下载。模型仅供学习交流,勿做商业用途。
本站的模型资源均免费下载,登录后即可下载。模型仅供学习交流,勿做商业用途。
服务电话
重庆/ 023-68661681
华东/ 13452821722
华南/ 18100878085
华北/ 17347785263
客户支持
技术支持咨询服务
服务热线:400-700-1020
邮箱:sales@evget.com
关注我们
地址 : 重庆市九龙坡区火炬大道69号6幢
慧都科技 版权所有 Copyright 2003-
2025 渝ICP备12000582号-13 渝公网安备
50010702500608号