我想在程序中知道已知的按钮何时被按下,并在被按下时,做一些其它动作,不知道如何作好一点?

解决方案 »

  1.   

    用classwizard 给按钮添加WM_COMMAND消息处理函数。
    或手工:
    1、afx_msg void OnButtonHello();
    2、ON_BN_CLICKED(IDC_BUTTON_HELLO, OnButtonHello)
    3、OnButtonHello函数定义、功能实现
      

  2.   

    对啊,有相应函数啊~~~~
    想在程序中知道已知的按钮何时被按下
    是不是想知道按钮被按下的时间啊?用CTime::GetCurrentTime()
      

  3.   

    我想这个按钮按下时,应该有一个什么消息,我只要知道这个消息,就应该知道安被按下了,但我不知道是什么消息,我不太懂windows编程,刚刚开始。
      

  4.   

    不同的控件应该对应不同的消息名字吧?
    如果是Button 的话 对应的是BN_CLICKED   如果是组合框(combo box)的话 就是CBN_SELCHANGE 或其他的  根据你的要求来定
      

  5.   

    在按钮被按下的时候,按钮的父窗口会收到一个WM_COMMAND消息:
    WM_COMMAND 
    wNotifyCode = HIWORD(wParam); // 通知代码
    wID = LOWORD(wParam);         // 按钮ID 
    hwndCtl = (HWND) lParam;      // 控件句柄当然,在MFC之中,按钮单击的时候就会通过消息映射,映射到BN_CLICKED通知消息了。
      

  6.   

    在目标进程中HOOK鼠标
    当检测到WM_LBUTTONDOWN时
    MOUSEHOOKSTRUCT *MouseInfo = (MOUSEHOOKSTRUCT*)lParam;
    MouseInfo->pt 是按下鼠标时的坐标
    根据WindowFromPoint()得到鼠标所在按钮的HWND
    GetWindowText()得到按钮的文字
    用它与目标按纽的文字比较strcmp()LRESULT MouseHookProc(int nCode, WPARAM wParam, LPARAM lParam)
    {
    MOUSEHOOKSTRUCT *MouseInfo = (MOUSEHOOKSTRUCT*)lParam;
    if (wParam == WM_LBUTTONDOWN)
    {
    GetWindowText(WindowFromPoint(MouseInfo->pt), str, 100);
    if (strcmp("OK", str) == 0)
    {
    //你的代码
    }
    }
    }
      

  7.   

    To:888atao(阿涛)我要的是这种郊果,但是光有鼠标消息是不行的,如果用户按回车键就没办法啦。 To:fenforever(其实,我只是一个马甲。) ,我的思路大约是这样的,但不是很楚,能不能有更具体一点的代码啊?谢谢了?