请教BUTTON等控件的TABSTOP问题。
我使用CreateWindow创建了Button、Checbox、RadioButton等控件,并且设置了 TABSTOP样式。
创建代码如下:
m_hForward = CreateWindow(_T("Button"), _T("下一步(&N) >"),
WS_CHILD | WS_VISIBLE | BS_DEFPUSHBUTTON | WS_TABSTOP,
330, 328, 100, 20, m_hWnd, (HMENU)IDC_FORWARD, g_hInst, NULL);
m_hCancel = CreateWindow(_T("Button"), _T("取消"),
WS_CHILD | WS_VISIBLE | BS_PUSHBUTTON | WS_TABSTOP,
413, 328, 100, 20, m_hWnd, (HMENU)IDC_CANCEL, g_hInst, NULL);
并在消息处理中,
使用
if (msg.message==WM_KEYDOWN && msg.wParam==VK_TAB)
{
SetFocus(...);
}
代码没有使用MFC,直接winapi开发。
问题如下:
如果使用清单工具内嵌XP的样式,则:使用TAB键时,切换的按钮,没有虚线,无法接受回车键消息。
切换时,不知道当前切换到哪个控件之上。
如果不使用清单工具,则软件界面为windows经典界面,使用TAB键切换的按钮有虚线,但是无法接受回车键消息。
另外,我直接SetFocus某一个BUTTON,BUTTON上也没有虚线,也不能接受键盘消息。
本人很少使用windows sdk直接编程。请教各位大神,这个如何解决?