如题,在CPropertyPage里有EDIT,想再EDIT的值发生变化的时候调用SetModified函数,使能Apply按钮:
ON_EN_CHANGE(IDC_EDIT_HOLDTIMEINTERVAL, OnChangeEditHoldtimeinterval)
可是OnChangeEditHoldtimeinterval却不被调用;而在同一个CPropertyPage里,COMBOBOX的消息:
ON_CBN_SELCHANGE(IDC_COMBO_STARTUI, OnSelchangeComboStartui)
却可以正确响应,高手帮忙解释一下为什么???谢谢

解决方案 »

  1.   

    Sent when the user has taken an action that may have altered text in an edit control. Unlike the EN_UPDATE notification message, this notification message is sent after the system updates the screen. The parent window of the edit control receives this notification message through a WM_COMMAND message. 你需要在你的CEdit编辑框的父窗口中去处理EN_CHANGE消息,CPropertyPage应该不是你Edit控件的直接父窗口吧。或者重载CEdit类,在派生类中处理=EN_CHANGE消息
      

  2.   

    CPropertyPage 就是EDIT的父窗口,重载CEdit类的方法应该可行(我没试),我就是想知道上述问题的根本原因是什么。
      

  3.   

    另外,刚才试了下EDIT的EN_UPDATE
    ON_EN_UPDATE(IDC_EDIT_HOLDTIMEINTERVAL, OnUpdateEditHoldtimeinterval)
    消息是可以响应的,为什么只有EN_CHANGE不能响应呢?
      

  4.   

    Unlike the EN_UPDATE notification message,注意看文档