ATL ActiveX控件中用WTL::CButton动态添加按钮代码步骤
首先必须是添加了一个ATL控件,生成了相应的类了。
1,包含头文件
#include <atlctrls.h>
2,定义资源ID
#define IDC_BTN_PLAY 6000
3,在类声明中定义成员。
CButton m_btnPlay;
4,在WM_CREATE消息中
RECT rc1;
rc1.left = 60;
rc1.top = 0;
rc1.bottom = rc1.top + 18;
rc1.right = rc1.left + 50;
m_btnPlayCreate( m_hWnd,&rc1,_T("Stop"),WS_CHILD | WS_VISIBLE,0,IDC_BTN_PLAY);
5,定义单击事件及消息映射。
消息映射:
BEGIN_MSG_MAP(CPlayer)
MESSAGE_HANDLER(WM_CREATE, OnCreate)
COMMAND_HANDLER(IDC_BTN_PLAY, BN_CLICKED, OnPlay)
....
END_MSG_MAP()
事件函数:
LRESULT OnPlay(WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled)
{
::MessageBox(m_hWnd,_T("Yes,Play!"),_T("OK"),0);
return 0;
}
6,OK。
首先必须是添加了一个ATL控件,生成了相应的类了。
1,包含头文件
#include <atlctrls.h>
2,定义资源ID
#define IDC_BTN_PLAY 6000
3,在类声明中定义成员。
CButton m_btnPlay;
4,在WM_CREATE消息中
RECT rc1;
rc1.left = 60;
rc1.top = 0;
rc1.bottom = rc1.top + 18;
rc1.right = rc1.left + 50;
m_btnPlayCreate( m_hWnd,&rc1,_T("Stop"),WS_CHILD | WS_VISIBLE,0,IDC_BTN_PLAY);
5,定义单击事件及消息映射。
消息映射:
BEGIN_MSG_MAP(CPlayer)
MESSAGE_HANDLER(WM_CREATE, OnCreate)
COMMAND_HANDLER(IDC_BTN_PLAY, BN_CLICKED, OnPlay)
....
END_MSG_MAP()
事件函数:
LRESULT OnPlay(WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled)
{
::MessageBox(m_hWnd,_T("Yes,Play!"),_T("OK"),0);
return 0;
}
6,OK。