动态创建了一个按钮,如何在Onclick事件里写代码?

解决方案 »

  1.   

    ON_CONTROL_RANGE(BN_CLICKED, IDFirst, IDLast, OnClicked) 预先为按钮定下响应函数.
      

  2.   

    改写窗口类的OnCommand也可以截到按钮按下的消息。
      

  3.   


    afx_msg void OnClicked(UINT nCtrlID, UINT aa, UINT bb, UINT cc, UINT dd, UINT ee, UINT ff, UINT gg, UINT hh);ON_CONTROL_RANGE(BN_CLICKED, 5, 10, OnClicked)为什么OnClicked(...)能接受这么多的参数,谁给他传递过来的呢?
      

  4.   

    谁说有这么多参数的,只有一个UINT参数,表示被按下的按钮ID。该ID是消息发送者发过来的。
      

  5.   

    不用试了,把
    afx_msg void OnClicked(UINT nCtrlID, UINT aa, UINT bb, UINT cc, UINT dd, UINT ee, UINT ff, UINT gg, UINT hh);改成:afx_msg void OnClicked(UINT nCtrlID);
      

  6.   

    我当然知道是这样改了afx_msg void OnClicked(UINT nCtrlID);,但为什么可以有这么多的参数呢?
    常问为什么,是好事吧,而且VC能出现这种参数错乱的情况吗?