none
关于windows消息的问题,BN_CLICKED这个消息... RRS feed

  • 问题

  • button的BN_CLICKED这个消息在MFC的处理是按钮按下并松开的时候发送的,如果我想在按钮按下没松开时就做一个处理,松开后做另一个处理,该怎么区分呢?我看过一个VB的应用程序就是可以在按下时触发一个事件,松开时又触发另一个事件
    新来乍到
    2010年11月18日 14:52

答案

全部回复

  • WM_LBUTTONDOWN 

    The following is signature, not part of post
    Please mark the post answered your question as the answer, and mark other helpful posts as helpful, so they will appear differently to other users who are visiting your thread for the same problem.
    Visual C++ MVP
    2010年11月18日 15:54
    版主
  • 左键按下会发出消息WM_LBUTTONDOWN  抬起WM_LBUTTONUP

    右键按下会发出消息WM_RBUTTONDOWN  抬起WM_RBUTTONUP

    可以参考

    http://msdn.microsoft.com/en-us/library/ms646242(VS.85).aspx

    http://baike.baidu.com/view/2903493.htm


    0xBAADF00D
    2010年11月18日 16:18
    版主
  • 这,可以用在某个按钮上吗?我看了看,在控件事件里没有找到,是否要手动加在消息映射宏里
    新来乍到
    2010年11月18日 16:27
  • 类似的需求我是按下时开启一个时钟完成相关操作

    抬起时销毁时钟

    2010年11月19日 5:39
  • 你的这个只要在PreTranslateMessage(MSG* pMsg){}里处理WM_LBUTTONDOWN,WM_LBUTTONUP即可:

    //重写PreTranslateMessage执行按键触发
    BOOL CMikudjerDlg::PreTranslateMessage(MSG* pMsg)
    {
     switch(pMsg->message)
     {
     case WM_LBUTTONDOWN:
    
     //todo....SetTimer
    
      break;
    
     case WM_LBUTTONUP:
    
     //todo......KillTimer
    
      break;
     }
    }
    
    

    但是我的这个需求是要知道是到底对话框里的哪一个按钮被按下,每一个按钮被按下、弹起,的处理都不一样。


    新来乍到
    • 已编辑 MomoGNU 2010年11月19日 15:00 修改后会更易读
    2010年11月19日 14:49
  • 您好,

    尝试一下这样:在按钮按下事件中添加BN_CLICKED事件。


    Daoping Liu - MSFT
    • 已标记为答案 MomoGNU 2010年11月27日 3:17
    2010年11月22日 3:06
    版主