在VC的对话框程序中,可以创建一个默认按钮,当对话框中还有其它非按钮控件,比如EDIT的时候.当焦点在Edit中的时候,仍可以直接按回车执行默认按钮的功能.但如果是自己从CWnd直接派生的窗口类做父窗口,在其中动态创建的按钮,虽然创建的时候加了BS_DEFPUSHBUTTON风格,但按下回车不会执行相应的操作,这想处理回车键,并调用默认按钮的消息函数的动作应该是在CDialog中处理的,所以直接从CWnd中创建的button不起作用,不知道理解的对不对.如果对,有什么办法把相应的代码找出来吗?谢谢.
我debug到IsDialogMessage这个API,对于对话框程序,按下回车后产生的WM_KEYDWON消息传给它之后,进行USER32.dll处理,出来以后会生成一个WM_COMMAND消息,但CWnd不会.
http://sluttery.spaces.live.com/blog/cns!3569FEA80C717FD4!3321.entry