有关按钮的问题 我自己用CButton::Create(...)在对话框创建了一个BUTTON,请问如何得到按下时的消息映射函数!多谢!!!! happysnoopy 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 1)在类的头文件里面定义CButton对象:CButton m_btn;2)在OnInitDialog()中创建和显示:m_btn.Create("hello", WS_CHILD|WS_VISIBLE, CRect(10, 10, 50, 50), this, 111); m_btn.ShowWindow(1);3)在执行文件里面把“ON_BN_CLICKED(111, TestButton)”添加到下面中BEGIN_MESSAGE_MAP(CSerialDlg, CDialog) //{{AFX_MSG_MAP(CSerialDlg) ON_WM_SYSCOMMAND() ON_WM_PAINT() ON_WM_QUERYDRAGICON() ON_BN_CLICKED(111, TestButton) //就是这句话 //}}AFX_MSG_MAPEND_MESSAGE_MAP()4)在头文件里面加入“afx_msg void TestButton();”5)在执行文件里面加入下面的代码来验证你的按钮:void CSerialDlg::TestButton(){ MessageBox("test", MB_OK);}相信你应该看懂了吧!!! (1)在类声明中添加virtual void OnButton1();(2)在//}}AFX_MSG_MAP之前,END_MESSAGE_MAP()之后添加 ON_BN_CLICKED(IDC_BUTTON1, OnButton1)(3)在类的实现中就可以编写你的消息映射了 创建部分 style = WS_VISIBLE |WS_CHILD | BS_DEFPUSHBUTTON |WS_TABSTOP; CButton * pBtnAbout = new CButton(); rect.left = rect.left + BUTTONWIDTH + BUTTONSPACE; rect.right = rect.right + BUTTONWIDTH + BUTTONSPACE; pBtnAbout ->Create ( "关于(&A)", style, rect, this, IDM_POP_ABOUT ); pBtnAbout ->SetFont ( pFont );消息MAPBEGIN_MESSAGE_MAP(CMainSheet, CPropertySheet) //{{AFX_MSG_MAP(CMainSheet) ON_COMMAND(IDM_POP_CLOSE,OnClose) //}}AFX_MSG_MAPEND_MESSAGE_MAP()函数定义public: afx_msg void OnClose(); 创建部分 style = WS_VISIBLE |WS_CHILD | BS_DEFPUSHBUTTON |WS_TABSTOP; CButton * pBtnAbout = new CButton(); rect.left = rect.left + BUTTONWIDTH + BUTTONSPACE; rect.right = rect.right + BUTTONWIDTH + BUTTONSPACE; pBtnAbout ->Create ( "关于(&A)", style, rect, this, IDM_POP_ABOUT ); pBtnAbout ->SetFont ( pFont );消息MAPBEGIN_MESSAGE_MAP(CMainSheet, CPropertySheet) //{{AFX_MSG_MAP(CMainSheet) ON_COMMAND(IDM_POP_CLOSE,OnClose) //}}AFX_MSG_MAPEND_MESSAGE_MAP()函数定义public: afx_msg void OnClose(); 关于CPropertyPage与CPropertySheet问题,求救。。 谁能在魔兽窗口上显示文字? VS2008中的一个问题 用VC中的文件操作实现读取文本数据问题 请问一个内存申请问题,帮我看看,谢谢! msconfig的样式 那位老兄,给我解释解释俄External Dependencies 文件夹是干什么用的。 这些指针怎么删除?char tmpch[100],char *pp=NULL 如何显示RGB分量大于255的图象 我是初学者,很简单的问题。 关于ping编程的问题,谢谢! 要用MFC类库的话,需要包括哪些头文件?
2)在OnInitDialog()中创建和显示:
m_btn.Create("hello", WS_CHILD|WS_VISIBLE, CRect(10, 10, 50, 50), this, 111);
m_btn.ShowWindow(1);3)在执行文件里面把“ON_BN_CLICKED(111, TestButton)”添加到下面中
BEGIN_MESSAGE_MAP(CSerialDlg, CDialog)
//{{AFX_MSG_MAP(CSerialDlg)
ON_WM_SYSCOMMAND()
ON_WM_PAINT()
ON_WM_QUERYDRAGICON()
ON_BN_CLICKED(111, TestButton) //就是这句话
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
4)在头文件里面加入“afx_msg void TestButton();”
5)在执行文件里面加入下面的代码来验证你的按钮:
void CSerialDlg::TestButton()
{
MessageBox("test", MB_OK);
}
相信你应该看懂了吧!!!
(2)在//}}AFX_MSG_MAP之前,END_MESSAGE_MAP()之后添加
ON_BN_CLICKED(IDC_BUTTON1, OnButton1)
(3)在类的实现中就可以编写你的消息映射了
style = WS_VISIBLE |WS_CHILD | BS_DEFPUSHBUTTON |WS_TABSTOP;
CButton * pBtnAbout = new CButton();
rect.left = rect.left + BUTTONWIDTH + BUTTONSPACE;
rect.right = rect.right + BUTTONWIDTH + BUTTONSPACE;
pBtnAbout ->Create ( "关于(&A)", style, rect, this, IDM_POP_ABOUT );
pBtnAbout ->SetFont ( pFont );消息MAP
BEGIN_MESSAGE_MAP(CMainSheet, CPropertySheet)
//{{AFX_MSG_MAP(CMainSheet)
ON_COMMAND(IDM_POP_CLOSE,OnClose)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()函数定义
public:
afx_msg void OnClose();
style = WS_VISIBLE |WS_CHILD | BS_DEFPUSHBUTTON |WS_TABSTOP;
CButton * pBtnAbout = new CButton();
rect.left = rect.left + BUTTONWIDTH + BUTTONSPACE;
rect.right = rect.right + BUTTONWIDTH + BUTTONSPACE;
pBtnAbout ->Create ( "关于(&A)", style, rect, this, IDM_POP_ABOUT );
pBtnAbout ->SetFont ( pFont );消息MAP
BEGIN_MESSAGE_MAP(CMainSheet, CPropertySheet)
//{{AFX_MSG_MAP(CMainSheet)
ON_COMMAND(IDM_POP_CLOSE,OnClose)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()函数定义
public:
afx_msg void OnClose();