我的应用程序上有一个编辑框,规定只能输入数字,而且输入后需要进行处理。我设计为输入后失去焦点进行处理。我查阅了资料,发现网上对这个问题的解决一般通过派生CEdit类,然后添加WM_KILLFOCUS消息的处理函数。    现在的问题是我使用的是BCG的工具栏,编辑框是使用BCG的接口产生的。我无法派生CEdit类。另一种思路是使用消息钩子。但系统钩子监视系统中的所有线程的事件消息。因为系统钩子会影响系统中所有的应用程序,所以钩子函数必须放在独立的动态链接库(DLL) 。我不想编一个dll专门做这个事。请问该如何做呢?

解决方案 »

  1.   

    你派生这个BCG工具栏类测试下,同样的方式,通过getctrlId来截获对应的编辑窗口,焦点失效进行判断...
    我没接触过BCG.帮不了你.但不知道这个思路是否可以
      

  2.   

    BCG 没有用过,不过应该可以获取这个消息的!!!
      

  3.   

    BCG中编辑框对应的类名为CBCGPEdit ,同样有OnKillFocus()函数。
      

  4.   


          问题了你重写一个类派生CBCGPEdit类,也塞不到BCG的工具栏里面去。