65,210
社区成员
发帖
与我相关
我的任务
分享CBtn:public CButton
{
OnTimer(){}
}
#pragma once
// CAnimateButton
class CAnimateButton : public CButton
{
DECLARE_DYNAMIC(CAnimateButton)
public:
CAnimateButton();
virtual ~CAnimateButton();
protected:
DECLARE_MESSAGE_MAP()
public:
afx_msg void OnTimer(UINT_PTR nIDEvent);
protected:
virtual void PreSubclassWindow();
};
#include "stdafx.h"
#include "MFCTIMERTest.h"
#include "AnimateButton.h"
// CAnimateButton
IMPLEMENT_DYNAMIC(CAnimateButton, CButton)
CAnimateButton::CAnimateButton()
{
}
CAnimateButton::~CAnimateButton()
{
}
BEGIN_MESSAGE_MAP(CAnimateButton, CButton)
ON_WM_TIMER()
END_MESSAGE_MAP()
// CAnimateButton 消息处理程序
void CAnimateButton::OnTimer(UINT_PTR nIDEvent)
{
// TODO: 在此添加消息处理程序代码和/或调用默认值
KillTimer(nIDEvent);
MessageBox(L"Timer.........");
SetTimer(nIDEvent, 1000, NULL);
}
void CAnimateButton::PreSubclassWindow()
{
// TODO: 在此添加专用代码和/或调用基类
UINT_PTR nRet = SetTimer(1, 1000, NULL);
CButton::PreSubclassWindow();
}
class CMFCTIMERTestDlg : public CDialog
{
// 构造
public:
CMFCTIMERTestDlg(CWnd* pParent = NULL); // 标准构造函数
// 对话框数据
enum { IDD = IDD_MFCTIMERTEST_DIALOG };
protected:
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV 支持
// 实现
protected:
HICON m_hIcon;
// 生成的消息映射函数
virtual BOOL OnInitDialog();
afx_msg void OnSysCommand(UINT nID, LPARAM lParam);
afx_msg void OnPaint();
afx_msg HCURSOR OnQueryDragIcon();
DECLARE_MESSAGE_MAP()
public:
CAnimateButton m_anibtnTest;
};
void CMFCTIMERTestDlg::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
DDX_Control(pDX, IDC_BUTTON1, m_anibtnTest); //此处
}