VB6 TextBox Lost Focus()函数在动态更改值时不会被触发

时间:2014-01-17 08:50:26

标签: vba vb6

我在应用程序中使用Windows API的WM_SETTEXT方法(比如用.NET编写的AppX)来设置一个始终在运行的应用程序中的文本框文本(比如用VB6编写的AppY)。我能够动态地更改文本。

但是,当文本框值更新时,TextBox_LostFocus()不会被触发。如果我转到App Y并手动输入一些值到文本框和tab中(这是因为VB6的LostFocus事件被触发),它会被解雇。

除了VB6中的TextBox_LostFocus()以外,还有其他方法可以满足我的要求吗?看看文本框值是否改变的东西?

1 个答案:

答案 0 :(得分:0)

  

但是,当文本框值更新时,TextBox_LostFocus()不会被触发。

这是因为WM_SETTEXT仅设置数据,因此没有标签,因此没有_LostFocus事件触发。您需要Tab中的TextBox。例如

Const WM_IME_KEYDOWN = &H290
Const VK_TAB = &H9

SendMessage hWnd, WM_IME_KEYDOWN, VK_TAB, 0&