自己用2005建立一个工程,是按向导建的,MFC模式,单文档
其自动建立了一个资源名为IDR_MAINFRAME的对话框--工具栏。叫“对话栏”
我随便给上面建立了几个按钮,并写了事件,为什么运行起来按钮还是不可用呢?

解决方案 »

  1.   

    是2005,我直接选中按钮-在属性栏里有个“闪电”标识的,控件事件 添加而成。
    而且我看了代码中有
    BEGIN_MESSAGE_MAP(CDlgTool, CDialog)
    ON_BN_CLICKED(IDC_BUTTON1, &CDlgTool::OnBnClickedButton1)
    END_MESSAGE_MAP()
      

  2.   

    你可以在函数内部加个断点 调试运行一下 看看程序是否调用了 &CDlgTool::OnBnClickedButton1
      

  3.   

    CMainFrame类的H头文件中
    afx_msg void OnBnClick();CMainFrame类的cpp文件中:// 消息映射
    ON_BN_CLICKED(ID_BUTTON1, OnBnClick)// 消息响应函数
    void CMainFrame::OnBnClick()
    {
    AfxMessageBox(_T("OK"));
    }
      

  4.   

    代码有啊,还是不行
    // DlgTool.cpp : 实现文件
    //#include "stdafx.h"
    #include "mfctest.h"
    #include "DlgTool.h"
    // DlgTool 对话框IMPLEMENT_DYNAMIC(DlgTool, CDialog)DlgTool::DlgTool(CWnd* pParent /*=NULL*/)
    : CDialog(DlgTool::IDD, pParent)
    {}DlgTool::~DlgTool()
    {
    }void DlgTool::DoDataExchange(CDataExchange* pDX)
    {
    CDialog::DoDataExchange(pDX);
    }
    BEGIN_MESSAGE_MAP(DlgTool, CDialog)
    ON_BN_CLICKED(IDC_BUTTON1, &DlgTool::OnBnClickedButton1)
    END_MESSAGE_MAP()
    // DlgTool 消息处理程序void DlgTool::OnBnClickedButton1()
    {
    // TODO: 在此添加控件通知处理程序代码
    AfxMessageBox(_T("OK"));}