汇编网首页登录博客注册
wukong的学习博客
博客首页博客互动【做检测题】论坛求助

我的博客

个人首页 |  我的文章 |  我的相册 |  我的好友 |  最新访客 |  文章收藏 |  论坛提问 |  友情链接 |  给我留言  
图片载入中
学习动态
最新留言
文章收藏

[2013-12-19 20:35] 创建多个按钮响应同一个函数

创建多个按钮响应同一个函数
添加
BEGIN_MESSAGE_MAP(CDialogDlg, CDialog)
        //{{AFX_MSG_MAP(CDialogDlg)
        ON_WM_SYSCOMMAND()
        ON_WM_PAINT()
        ON_WM_QUERYDRAGICON()
        ON_WM_CLOSE()
        ON_BN_CLICKED(IDC_BUTTON1, OnButton1)
        { WM_COMMAND, BN_CLICKED, (WORD)100, (WORD)200, AfxSig_vv,(AFX_PMSG)&OnButton2 },
        //}}AFX_MSG_MAP
END_MESSAGE_MAP()
{ WM_COMMAND, BN_CLICKED, (WORD)100, (WORD)200, AfxSig_vv,(AFX_PMSG)&OnButton2 },
WM_COMMAND :表示控件消息
BN_CLICKED: 表示单击消息
first Word:表示起始id
end   word:表示结束id
AFXSIG_VV :V 表示返回值为void ,v表示接收参数为空
最后一个为处理函数

动态添加按钮
void CDialogDlg::OnButton1() 
{
        // TODO: Add your control notification handler code here
        static UINT uID = 100;
        CButton *p = new CButton;
        CRect rect(0,(uID-100)*50+10,100,(uID-100)*50+10  +50);
        p->Create("aaaa",BS_PUSHBUTTON | WS_CHILD | WS_VISIBLE,rect,this,uID++);
        list.AddTail(p);
}
响应函数
void CDialogDlg::OnButton2() 
{
        // TODO: Add your control notification handler code here
        MessageBox("ok2");
}

析构函数,删除资源
 CDialogDlg::~CDialogDlg()
{
        CButton *p = NULL;
        while(!list.IsEmpty())
        {
                p = list.GetTail();
                list.RemoveTail();
                p->DestroyWindow();
                p=NULL;
        }
}
评论次数(0)  |  浏览次数(621)  |  类型(Win32) |  收藏此文  | 
 
 请输入验证码  (提示:点击验证码输入框,以获取验证码