This is a bit strange so I thought I would ask here.

I have 2 edit controls, one is in a CDialog, and one is in a CPropertyPage.

The OnEnChange() for the edit in the dialog is NOT activated until you change text AND click out of the control or set the focus to another.

The OnEnChange() for the edit in the property page is activated similar to the OnEnUpdate(). Every time you press a key, it fires off the function. Any reason why?

Also I cannot intercept the WM_CHAR, WM_KEYDOWN, or WM_KEYUP messages in the property page either in the page class or in the main property sheet class. I thought perhaps Windows was sending the message to the property sheet and somehow I had to route it to the correct property page, but this is not so. I'm lost as to why these messages never get sent.

They both have the same properties in the resource editor and have identical response code in the cpp file.

I'm trying to add stuff to a list box by allowing the user to simply enter text into the edit control and then firing off the code that adds the item. But as you can see this approach may not work.

I'm finding MFC requires a lot of redundant code because you not only respond to messages to set data but also to get data.