动态添加一个ATL控件

首先必须是添加了一个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;
}

 


作者:GangWang
出处:http://www.cnblogs.com/GnagWang/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

 
原文地址:https://www.cnblogs.com/GnagWang/p/1802880.html