【发布时间】:2019-04-26 18:19:43
【问题描述】:
我们有一个桌面(第一个屏幕)来显示图像和另一个触摸屏(第二个屏幕)用于控制,我们在触摸屏上编写了一个虚拟键盘(html&javascript),理想情况下当我们触摸触摸屏上的按键时,我们可以输入第一个桌面的编辑框中的文本(在输入对话框窗口中)。现在的问题是当我们触摸触摸屏时鼠标丢失(最初是在第一个桌面的输入对话框中),所以我们必须在 C++ 程序中创建一个全局窗口,并将每个可能的输入对话框窗口手动复制到这个全局窗口当它在使用时,我们还需要在这个输入对话框窗口中为每个可能的编辑框设置焦点。请看这个:
对于每个可能的输入对话框,我们添加
extern HWND activeInputWindow;
activeInputWindow=m_Edit_Name.m_hWnd;
对于这个窗口中每个可能的输入框,我们必须添加
activeInputWindow=GetDlgItem(IDC_EDIT_TEST)->m_hWnd;
然后程序总是这样做以在单击触摸屏后返回原始窗口(第二个窗口)
extern HWND activeInputWindow;
if(IsWindow(activeInputWindow))
::SetFocus(activeInputWindow);
假设我们有10个输入窗口,每个窗口有10个输入框,那么我需要编码100个地方!必须有一些简单的方法,windows osk.exe(虚拟键盘)对此没有问题,但我们必须使用我们自己的虚拟键盘....我尝试了GetTopWindow()和GetForegroundWindow()但不起作用..非常感谢帮助
【问题讨论】: