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。
(编辑:aniston)
|