我的程序很简单,就是在VS 2005下用向导创建了一个单文档不使用文档/视图结构的程序,然后,自定义了一个页面类(没有父类),在CChildView中采用这个类定义的Addpage函数来添加一个页面.这个页面只有一个CEdit和一个CButton控件,都是动态创建的.这两个控件都没有对应类型的控制变量,即不是采用
CEdit *MyEdit = new CEdit; MyEdit->Create(....);这种方式创建的,而是采用如下的方式:
CWnd *pWnd = new CWnd; pWnd->CreateEx(..."EDIT"...); 然后用另外一个CWnd变量CWnd *MyEditWnd;来保存产生控件的pWnd,后面所有对控件的操作都使用MyEditWnd来执行.这样可以成功获取和删除CEdit控件中的内容. 现在,我想接着完成这样的功能:当用鼠标选种这个CEdit 控件时,自动选中它里面的所有内容(SetSel(0,-1)),当焦点在这个CEdit控件中时,按回车键可以触发CButton对应的控制函数.我知道实现这两个功能的函数怎样写. 问题是:我可以通过分析OnCommand(WPARAM wParam, LPARAM lParam)中参数wParam来获得产生消息的控件的ID,判断是否是BUTTON发出的,从而决定是否调用它的控制函数.
但是,我无法获知什么时候CEdit控件被鼠标选中.CEdit控件被选中时应该会产生一个消息,我如何才能截获这个消息从而调用功能函数呢?
OnCommand和OnNotify消息我都试过了,好象可以截获到CButton产生的消息,但是却无法截获CEdit产生的消息.那么到底如何才能获取这个消息呢?
写的比较罗嗦,但是,问题我都表述清楚了.还请各位大哥们给点耐心,帮帮小弟,先谢谢拉!
CEdit *MyEdit = new CEdit; MyEdit->Create(....);这种方式创建的,而是采用如下的方式:
CWnd *pWnd = new CWnd; pWnd->CreateEx(..."EDIT"...); 然后用另外一个CWnd变量CWnd *MyEditWnd;来保存产生控件的pWnd,后面所有对控件的操作都使用MyEditWnd来执行.这样可以成功获取和删除CEdit控件中的内容. 现在,我想接着完成这样的功能:当用鼠标选种这个CEdit 控件时,自动选中它里面的所有内容(SetSel(0,-1)),当焦点在这个CEdit控件中时,按回车键可以触发CButton对应的控制函数.我知道实现这两个功能的函数怎样写. 问题是:我可以通过分析OnCommand(WPARAM wParam, LPARAM lParam)中参数wParam来获得产生消息的控件的ID,判断是否是BUTTON发出的,从而决定是否调用它的控制函数.
但是,我无法获知什么时候CEdit控件被鼠标选中.CEdit控件被选中时应该会产生一个消息,我如何才能截获这个消息从而调用功能函数呢?
OnCommand和OnNotify消息我都试过了,好象可以截获到CButton产生的消息,但是却无法截获CEdit产生的消息.那么到底如何才能获取这个消息呢?
写的比较罗嗦,但是,问题我都表述清楚了.还请各位大哥们给点耐心,帮帮小弟,先谢谢拉!
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货