我通过调用CreateWindow创建了一个窗口,并在其上放置了2个编辑控件.
编辑控件具有WS_TABSTOP样式,已启用.我可以更改其文本,但是通过TAB键在控件之间进行导航不起作用.
我将此代码放入消息循环中:
MSG msg;
while ( GetMessage( &msg, NULL, 0, 0 ) )
{
if ( !msg.hwnd || !IsDialogMessage( msg.hwnd, &msg ) )
{
TranslateMessage( &msg );
dispatchMessage( &msg );
}
}
不幸的是,通过TAB导航不起作用,编辑控件也没有编辑,并且按下TAB唯一发生的事情就是选择了第一个控件的文本.有谁能够帮助我?
解决方法:
传递给IsDialogMessage的窗口句柄是您要浏览的类似于对话框的窗口.您正在传递接收消息的窗口,该窗口可能是编辑控件,而不是顶层窗口.