處理WM_KILLFOCUS應該可以
另外不需要銷毀窗口 我也這樣做過一次
只要ShowWindows(SW_HIDE)暫時隱藏即可需要的時候再顯示出來 這樣免去頻繁地創建/銷毀EditBox
另外不需要銷毀窗口 我也這樣做過一次
只要ShowWindows(SW_HIDE)暫時隱藏即可需要的時候再顯示出來 這樣免去頻繁地創建/銷毀EditBox
解决方案 »
- PreTranslateMessage响应WM_KEYDOWN问题
- 我想在COM接口处传递自定义的结构参数,好象接口处的参数是固定的那几个VARIANT,不知应该怎样实现.
- vC2008一个非常郁闷的问题~~大家帮忙~~
- 散分,散分- 终于看懂了MFC 。 WTL , ATL。SDK - 哈哈,四年了,重来没有的清晰,
- 碰到一个问题
- 关于视图的奇怪问题
- 一个关于OPENGL的问题,高手请援手!
- 十万火急!!!关于数据结构和算法在VC++中的应用
- 关于红外线设备的选择及编程
- 如何在VC中生成一个WORD文档并写入内容
- 高分求助,请问我只是想接收串口数据该怎么做?
- 如何自动跟踪控件的选择并进行处理?谢谢
请问该在哪里处理WM_KILLFOCUS,如果在ListCtrl的派生类里 遗失焦点是listctrl的而不是editbox的.
CWnd* pOldWnd
);
Parameters
pOldWnd
Contains the CWnd object that loses the input focus (may be NULL). The pointer may be temporary and should not be stored for later use.
判断一下pOldWnd是不是你的EditBox就知道它是否失去焦点了.
PS:看了一下你最后的一贴,我觉得可以利用GetFocus函数返回的窗口指针与你的Edit控件窗口指针作一个比较,如果不等,就相当于是失去焦点,不过这样有点笨.可能要在WM_LBUTTONUP消息里面作这种判断(可以在LIST CTRL里面写PreTranslateMessage函数去拦截),在我的项目里面也是,为了得到一个表里面的Edit的窗口句柄,也经常用这种方法.