我使用WinAPI在C中创建了一个小应用程序,我遇到了一个小问题.Tab键不会在控件之间切换.它应该是自动的吗?如果没有,你能说出如何实现它吗?我已经制作了一个在编辑框之间切换的算法,这里是一个存根:
case WM_NOTIFY
{
if tab key
{
control_id++;
SetFocus(GetDlgItem(hwnd, control id));
if control_id = max_control_id
{ control_id = min_control_id; }
Run Code Online (Sandbox Code Playgroud)
如果没有简单的方法,那么我应该使用我的算法吗?
PS:我尝试添加TABSTOP,它不起作用.以下是一些不起作用的控件.我使用的是VS 2010 Express,Windows 7 64位.
hwnduser = CreateWindow (TEXT("EDIT"), NULL,
WS_VISIBLE | WS_CHILD | WS_BORDER | WS_TABSTOP | WS_GROUP,
220, 80, 80, 20,
hwnd, (HMENU) 3, NULL, NULL);
hwndpass = CreateWindow (TEXT("EDIT"), NULL,
WS_VISIBLE | WS_CHILD | WS_BORDER | WS_TABSTOP,
220, 130, 80, 20,
hwnd, (HMENU) 4, NULL, NULL);
CreateWindow(TEXT("button"), TEXT("Login"),
WS_VISIBLE | WS_CHILD | WS_TABSTOP | WS_GROUP,
80,200,100,30,
hwnd, (HMENU) 1, NULL, NULL);
CreateWindow(TEXT("button"), TEXT("Exit"),
WS_VISIBLE | WS_CHILD | WS_TABSTOP,
220,200,100,30,
hwnd, (HMENU) 2, NULL, NULL);
Run Code Online (Sandbox Code Playgroud)