同一个picture,有两个不同的OnLButtonDown,怎样通过一个按钮控制哪个OnLButtonDown起作用?
PS:不能一个OnLButtonDown,一个OnRButtonDown。。

解决方案 »

  1.   

    传递消息的时候还有个参数是控件ID
    每个Button的ID可是不同的哦
      

  2.   

    2楼求详解
    鼠标左键单击的消息不都是ON_WM_LBUTTONDOWN()嘛,ID指的是?
      

  3.   

    你就是2楼可以用SendMessage发消息
      

  4.   

    //我在对话框类里添加两个按钮响应函数
    afx_msg void OnButton1();
    afx_msg void OnButton2();
    //然后对应的消息映射宏
    BEGIN_MESSAGE_MAP(CBTNDlg, CDialog)
    //{{AFX_MSG_MAP(CBTNDlg)
    ON_WM_SYSCOMMAND()
    ON_WM_PAINT()
    ON_WM_QUERYDRAGICON()
    ON_BN_CLICKED(IDC_BUTTON1, OnButton1)
    ON_BN_CLICKED(IDC_BUTTON2, OnButton2)
    //}}AFX_MSG_MAP
    END_MESSAGE_MAP()
    //你看这个宏和ON_WM_PAINT()不一样,他有两个参数
      

  5.   

    用一个CheckBox做选择, 在点击消息了判断一下用哪一个即可
    void OnLButtonDown1() {……}  
    void OnLButtonDown2() {……}  ON_BN_CLICKED(IDC_PICTURE1, OnLButtonDown)void OnLButtonDown()
    {
      BOOL bCondition = ((CButton*)GetDlgItem(IDC_CHECK1))->GetCheck();
      if(bCondition)
       OnLButtonDown1();
      else
       OnLButtonDown2(); 
    }
      

  6.   

    看了楼上的回复才发现刚才理解错了
    那你这样办吧
    把那两个按钮响应做成普通的成员函数
    然后然后在OnLButtonDown()里选择调用这两个函数中的一个
      

  7.   


    Right!!!光看就知道是可行的方案!!!感谢!!!