有关按钮的问题

happysnoopy 2002-07-23 02:14:45
我自己用CButton::Create(...)在对话框创建了一个BUTTON,
请问如何得到按下时的消息映射函数!
多谢!!!!

happysnoopy
...全文
52 4 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
wuxuan 2002-07-23
  • 打赏
  • 举报
回复
创建部分
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();
wuxuan 2002-07-23
  • 打赏
  • 举报
回复
创建部分
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();
  • 打赏
  • 举报
回复
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_MAP
END_MESSAGE_MAP()
4)在头文件里面加入“afx_msg void TestButton();”
5)在执行文件里面加入下面的代码来验证你的按钮:
void CSerialDlg::TestButton()
{
MessageBox("test", MB_OK);
}
相信你应该看懂了吧!!!
carole_zhang 2002-07-23
  • 打赏
  • 举报
回复
(1)在类声明中添加virtual void OnButton1();
(2)在//}}AFX_MSG_MAP之前,END_MESSAGE_MAP()之后添加
ON_BN_CLICKED(IDC_BUTTON1, OnButton1)
(3)在类的实现中就可以编写你的消息映射了

16,548

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • AIGC Browser
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧