CIPAddressCtrl的焦点问题 本帖最后由 aYuEPRXIX 于 2009-09-30 17:41:11 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 在WM_KILLFOCUS中判断一下,使用GetFocus看看具有焦点的窗口是不是field0,field1等等,如果不是,那就是真的失去焦点了 在视觉上的焦点离开CIPAddressCtrl(实际上是离开fieldx)的时候,是不会触发CIPAddressCtrl的WM_KILLFOUCS消息的……如果对每个field都子类化,在有多个CIPAddressCtrl的时候,这个判断将会很麻烦啊,有没有什么更好的办法? 嗯,这样确实比较麻烦,刚才用SPY++看了一下,找到了解决方法:假设你控件的ID是IDC_IPADDRESS1,直接响应EN_KILLFOCUS就可以了在对话框中的消息映射中使用:ON_EN_KILLFOCUS(IDC_IPADDRESS1,&CtestMFCDlg::OnKillFocus)其中OnKillFocus是你的处理函数,这样当IP控件失去焦点的时候就会调用这个函数了 怎么给目录提权 VC 中如何显示一幅图? 如何动态地增加一组按钮? 请问如果想在主线程中中止另外一个线程,怎样做比较好? 钩子子程如果返回0值,消息会往哪里传? 如何在外网与局域网之间进行网络通信编程? 终于升到三颗三角形了,祝贺,散分! 用web browser 控件显示文件夹内容,如何自动显示为details模式 MFC应用程序某子对话框始终靠前 我的classwizard中view类突然不见了? 程序调试没值 请教public继承时,派生类中的函数的访问权限,由谁决定的问题?
在视觉上的焦点离开CIPAddressCtrl(实际上是离开fieldx)的时候,是不会触发CIPAddressCtrl的WM_KILLFOUCS消息的……如果对每个field都子类化,在有多个CIPAddressCtrl的时候,这个判断将会很麻烦啊,有没有什么更好的办法?
假设你控件的ID是IDC_IPADDRESS1,直接响应EN_KILLFOCUS就可以了
在对话框中的消息映射中使用:
ON_EN_KILLFOCUS(IDC_IPADDRESS1,&CtestMFCDlg::OnKillFocus)
其中OnKillFocus是你的处理函数,这样当IP控件失去焦点的时候就会调用这个函数了