mirror of
https://github.com/reactos/reactos.git
synced 2024-07-05 04:06:22 +00:00
[User32_API]
- Patch by Katayama Hirofumi MZ : Add a test for Next Dialog Item for radio buttons. svn path=/trunk/; revision=73468
This commit is contained in:
parent
ed41960b74
commit
833738127d
|
@ -20,6 +20,7 @@ list(APPEND SOURCE
|
||||||
InitializeLpkHooks.c
|
InitializeLpkHooks.c
|
||||||
LoadImage.c
|
LoadImage.c
|
||||||
LookupIconIdFromDirectoryEx.c
|
LookupIconIdFromDirectoryEx.c
|
||||||
|
NextDlgItem.c
|
||||||
RealGetWindowClass.c
|
RealGetWindowClass.c
|
||||||
RegisterHotKey.c
|
RegisterHotKey.c
|
||||||
ScrollDC.c
|
ScrollDC.c
|
||||||
|
|
421
rostests/apitests/user32/NextDlgItem.c
Normal file
421
rostests/apitests/user32/NextDlgItem.c
Normal file
|
@ -0,0 +1,421 @@
|
||||||
|
/*
|
||||||
|
* PROJECT: ReactOS api tests
|
||||||
|
* LICENSE: GPL - See COPYING in the top level directory
|
||||||
|
* PURPOSE: Test for GetNextDlgTabItem, GetNextDlgGroupItem
|
||||||
|
* PROGRAMMERS: Katayama Hirofumi MZ
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include <stdarg.h>
|
||||||
|
#include <stdio.h>
|
||||||
|
#include <apitest.h>
|
||||||
|
|
||||||
|
#include <wingdi.h>
|
||||||
|
#include <winuser.h>
|
||||||
|
#include <windowsx.h>
|
||||||
|
#include <dlgs.h>
|
||||||
|
|
||||||
|
#define IDC_TEST1 1
|
||||||
|
#define IDC_TEST2 2
|
||||||
|
#define IDC_TEST3 3
|
||||||
|
#define IDC_END 9
|
||||||
|
|
||||||
|
static BOOL
|
||||||
|
OnInitDialog(HWND hwnd, HWND hwndFocus, LPARAM lParam)
|
||||||
|
{
|
||||||
|
PostMessage(hwnd, WM_COMMAND, MAKEWPARAM(IDC_TEST1, 0), 0);
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
|
|
||||||
|
static const char *
|
||||||
|
GetNameFromID(INT ID)
|
||||||
|
{
|
||||||
|
switch (ID)
|
||||||
|
{
|
||||||
|
case rad1: return "rad1";
|
||||||
|
case rad2: return "rad2";
|
||||||
|
case rad3: return "rad3";
|
||||||
|
case psh1: return "psh1";
|
||||||
|
case rad5: return "rad5";
|
||||||
|
case rad6: return "rad6";
|
||||||
|
case rad7: return "rad7";
|
||||||
|
case IDOK: return "OK button";
|
||||||
|
case IDCANCEL: return "Cancel button";
|
||||||
|
default: return "(unknown)";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
static const char *
|
||||||
|
GetNameFromHWND(HWND hwnd)
|
||||||
|
{
|
||||||
|
return GetNameFromID(GetDlgCtrlID(hwnd));
|
||||||
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
DoTest1(HWND hwnd)
|
||||||
|
{
|
||||||
|
HWND hCtrl;
|
||||||
|
HWND hRad1, hRad2, hRad3, hPsh1, hRad5, hRad6, hRad7, hOK, hCancel;
|
||||||
|
|
||||||
|
// check control IDs
|
||||||
|
hCtrl = GetDlgItem(hwnd, rad1);
|
||||||
|
ok(GetDlgCtrlID(hCtrl) == rad1, "\n");
|
||||||
|
hCtrl = GetDlgItem(hwnd, rad2);
|
||||||
|
ok(GetDlgCtrlID(hCtrl) == rad2, "\n");
|
||||||
|
hCtrl = GetDlgItem(hwnd, rad3);
|
||||||
|
ok(GetDlgCtrlID(hCtrl) == rad3, "\n");
|
||||||
|
hCtrl = GetDlgItem(hwnd, psh1);
|
||||||
|
ok(GetDlgCtrlID(hCtrl) == psh1, "\n");
|
||||||
|
hCtrl = GetDlgItem(hwnd, rad5);
|
||||||
|
ok(GetDlgCtrlID(hCtrl) == rad5, "\n");
|
||||||
|
hCtrl = GetDlgItem(hwnd, rad6);
|
||||||
|
ok(GetDlgCtrlID(hCtrl) == rad6, "\n");
|
||||||
|
hCtrl = GetDlgItem(hwnd, rad7);
|
||||||
|
ok(GetDlgCtrlID(hCtrl) == rad7, "\n");
|
||||||
|
hCtrl = GetDlgItem(hwnd, IDOK);
|
||||||
|
ok(GetDlgCtrlID(hCtrl) == IDOK, "\n");
|
||||||
|
hCtrl = GetDlgItem(hwnd, IDCANCEL);
|
||||||
|
ok(GetDlgCtrlID(hCtrl) == IDCANCEL, "\n");
|
||||||
|
|
||||||
|
// get dialog items
|
||||||
|
hRad1 = GetDlgItem(hwnd, rad1);
|
||||||
|
hRad2 = GetDlgItem(hwnd, rad2);
|
||||||
|
hRad3 = GetDlgItem(hwnd, rad3);
|
||||||
|
hPsh1 = GetDlgItem(hwnd, psh1);
|
||||||
|
hRad5 = GetDlgItem(hwnd, rad5);
|
||||||
|
hRad6 = GetDlgItem(hwnd, rad6);
|
||||||
|
hRad7 = GetDlgItem(hwnd, rad7);
|
||||||
|
hOK = GetDlgItem(hwnd, IDOK);
|
||||||
|
hCancel = GetDlgItem(hwnd, IDCANCEL);
|
||||||
|
|
||||||
|
// next
|
||||||
|
hCtrl = GetNextDlgTabItem(hwnd, hRad1, FALSE);
|
||||||
|
ok(hCtrl == hRad2, "hCtrl was %s\n", GetNameFromHWND(hCtrl));
|
||||||
|
hCtrl = GetNextDlgTabItem(hwnd, hRad2, FALSE);
|
||||||
|
ok(hCtrl == hRad3, "hCtrl was %s\n", GetNameFromHWND(hCtrl));
|
||||||
|
hCtrl = GetNextDlgTabItem(hwnd, hRad3, FALSE);
|
||||||
|
ok(hCtrl == hPsh1, "hCtrl was %s\n", GetNameFromHWND(hCtrl));
|
||||||
|
hCtrl = GetNextDlgTabItem(hwnd, hPsh1, FALSE);
|
||||||
|
ok(hCtrl == hRad5, "hCtrl was %s\n", GetNameFromHWND(hCtrl));
|
||||||
|
hCtrl = GetNextDlgTabItem(hwnd, hRad5, FALSE);
|
||||||
|
ok(hCtrl == hRad6, "hCtrl was %s\n", GetNameFromHWND(hCtrl));
|
||||||
|
hCtrl = GetNextDlgTabItem(hwnd, hRad6, FALSE);
|
||||||
|
ok(hCtrl == hRad7, "hCtrl was %s\n", GetNameFromHWND(hCtrl));
|
||||||
|
hCtrl = GetNextDlgTabItem(hwnd, hRad7, FALSE);
|
||||||
|
ok(hCtrl == hOK, "hCtrl was %s\n", GetNameFromHWND(hCtrl));
|
||||||
|
hCtrl = GetNextDlgTabItem(hwnd, hOK, FALSE);
|
||||||
|
ok(hCtrl == hCancel, "hCtrl was %s\n", GetNameFromHWND(hCtrl));
|
||||||
|
hCtrl = GetNextDlgTabItem(hwnd, hCancel, FALSE);
|
||||||
|
ok(hCtrl == hRad1, "hCtrl was %s\n", GetNameFromHWND(hCtrl));
|
||||||
|
|
||||||
|
// prev
|
||||||
|
hCtrl = GetNextDlgTabItem(hwnd, hRad1, TRUE);
|
||||||
|
ok(hCtrl == hCancel, "hCtrl was %s\n", GetNameFromHWND(hCtrl));
|
||||||
|
hCtrl = GetNextDlgTabItem(hwnd, hRad2, TRUE);
|
||||||
|
ok(hCtrl == hRad1, "hCtrl was %s\n", GetNameFromHWND(hCtrl));
|
||||||
|
hCtrl = GetNextDlgTabItem(hwnd, hRad3, TRUE);
|
||||||
|
ok(hCtrl == hRad2, "hCtrl was %s\n", GetNameFromHWND(hCtrl));
|
||||||
|
hCtrl = GetNextDlgTabItem(hwnd, hPsh1, TRUE);
|
||||||
|
ok(hCtrl == hRad3, "hCtrl was %s\n", GetNameFromHWND(hCtrl));
|
||||||
|
hCtrl = GetNextDlgTabItem(hwnd, hRad5, TRUE);
|
||||||
|
ok(hCtrl == hPsh1, "hCtrl was %s\n", GetNameFromHWND(hCtrl));
|
||||||
|
hCtrl = GetNextDlgTabItem(hwnd, hRad6, TRUE);
|
||||||
|
ok(hCtrl == hRad5, "hCtrl was %s\n", GetNameFromHWND(hCtrl));
|
||||||
|
hCtrl = GetNextDlgTabItem(hwnd, hRad7, TRUE);
|
||||||
|
ok(hCtrl == hRad6, "hCtrl was %s\n", GetNameFromHWND(hCtrl));
|
||||||
|
hCtrl = GetNextDlgTabItem(hwnd, hOK, TRUE);
|
||||||
|
ok(hCtrl == hRad7, "hCtrl was %s\n", GetNameFromHWND(hCtrl));
|
||||||
|
hCtrl = GetNextDlgTabItem(hwnd, hCancel, TRUE);
|
||||||
|
ok(hCtrl == hOK, "hCtrl was %s\n", GetNameFromHWND(hCtrl));
|
||||||
|
|
||||||
|
// hide
|
||||||
|
ok(ShowWindow(hRad3, SW_HIDE) != 0, "\n");
|
||||||
|
ok(ShowWindow(hRad6, SW_HIDE) != 0, "\n");
|
||||||
|
|
||||||
|
// next with hidden
|
||||||
|
hCtrl = GetNextDlgTabItem(hwnd, hRad1, FALSE);
|
||||||
|
ok(hCtrl == hRad2, "hCtrl was %s\n", GetNameFromHWND(hCtrl));
|
||||||
|
hCtrl = GetNextDlgTabItem(hwnd, hRad2, FALSE);
|
||||||
|
ok(hCtrl == hPsh1, "hCtrl was %s\n", GetNameFromHWND(hCtrl));
|
||||||
|
hCtrl = GetNextDlgTabItem(hwnd, hPsh1, FALSE);
|
||||||
|
ok(hCtrl == hRad5, "hCtrl was %s\n", GetNameFromHWND(hCtrl));
|
||||||
|
hCtrl = GetNextDlgTabItem(hwnd, hRad5, FALSE);
|
||||||
|
ok(hCtrl == hRad7, "hCtrl was %s\n", GetNameFromHWND(hCtrl));
|
||||||
|
hCtrl = GetNextDlgTabItem(hwnd, hRad7, FALSE);
|
||||||
|
ok(hCtrl == hOK, "hCtrl was %s\n", GetNameFromHWND(hCtrl));
|
||||||
|
hCtrl = GetNextDlgTabItem(hwnd, hOK, FALSE);
|
||||||
|
ok(hCtrl == hCancel, "hCtrl was %s\n", GetNameFromHWND(hCtrl));
|
||||||
|
hCtrl = GetNextDlgTabItem(hwnd, hCancel, FALSE);
|
||||||
|
ok(hCtrl == hRad1, "hCtrl was %s\n", GetNameFromHWND(hCtrl));
|
||||||
|
|
||||||
|
// prev with hidden
|
||||||
|
hCtrl = GetNextDlgTabItem(hwnd, hRad1, TRUE);
|
||||||
|
ok(hCtrl == hCancel, "hCtrl was %s\n", GetNameFromHWND(hCtrl));
|
||||||
|
hCtrl = GetNextDlgTabItem(hwnd, hRad2, TRUE);
|
||||||
|
ok(hCtrl == hRad1, "hCtrl was %s\n", GetNameFromHWND(hCtrl));
|
||||||
|
hCtrl = GetNextDlgTabItem(hwnd, hPsh1, TRUE);
|
||||||
|
ok(hCtrl == hRad2, "hCtrl was %s\n", GetNameFromHWND(hCtrl));
|
||||||
|
hCtrl = GetNextDlgTabItem(hwnd, hRad5, TRUE);
|
||||||
|
ok(hCtrl == hPsh1, "hCtrl was %s\n", GetNameFromHWND(hCtrl));
|
||||||
|
hCtrl = GetNextDlgTabItem(hwnd, hRad7, TRUE);
|
||||||
|
ok(hCtrl == hRad5, "hCtrl was %s\n", GetNameFromHWND(hCtrl));
|
||||||
|
hCtrl = GetNextDlgTabItem(hwnd, hOK, TRUE);
|
||||||
|
ok(hCtrl == hRad7, "hCtrl was %s\n", GetNameFromHWND(hCtrl));
|
||||||
|
hCtrl = GetNextDlgTabItem(hwnd, hCancel, TRUE);
|
||||||
|
ok(hCtrl == hOK, "hCtrl was %s\n", GetNameFromHWND(hCtrl));
|
||||||
|
|
||||||
|
// show
|
||||||
|
ShowWindow(hRad3, SW_SHOWNOACTIVATE);
|
||||||
|
ShowWindow(hRad6, SW_SHOWNOACTIVATE);
|
||||||
|
|
||||||
|
// next again
|
||||||
|
hCtrl = GetNextDlgTabItem(hwnd, hRad1, FALSE);
|
||||||
|
ok(hCtrl == hRad2, "hCtrl was %s\n", GetNameFromHWND(hCtrl));
|
||||||
|
hCtrl = GetNextDlgTabItem(hwnd, hRad2, FALSE);
|
||||||
|
ok(hCtrl == hRad3, "hCtrl was %s\n", GetNameFromHWND(hCtrl));
|
||||||
|
hCtrl = GetNextDlgTabItem(hwnd, hRad3, FALSE);
|
||||||
|
ok(hCtrl == hPsh1, "hCtrl was %s\n", GetNameFromHWND(hCtrl));
|
||||||
|
hCtrl = GetNextDlgTabItem(hwnd, hPsh1, FALSE);
|
||||||
|
ok(hCtrl == hRad5, "hCtrl was %s\n", GetNameFromHWND(hCtrl));
|
||||||
|
hCtrl = GetNextDlgTabItem(hwnd, hRad5, FALSE);
|
||||||
|
ok(hCtrl == hRad6, "hCtrl was %s\n", GetNameFromHWND(hCtrl));
|
||||||
|
hCtrl = GetNextDlgTabItem(hwnd, hRad6, FALSE);
|
||||||
|
ok(hCtrl == hRad7, "hCtrl was %s\n", GetNameFromHWND(hCtrl));
|
||||||
|
hCtrl = GetNextDlgTabItem(hwnd, hRad7, FALSE);
|
||||||
|
ok(hCtrl == hOK, "hCtrl was %s\n", GetNameFromHWND(hCtrl));
|
||||||
|
hCtrl = GetNextDlgTabItem(hwnd, hOK, FALSE);
|
||||||
|
ok(hCtrl == hCancel, "hCtrl was %s\n", GetNameFromHWND(hCtrl));
|
||||||
|
hCtrl = GetNextDlgTabItem(hwnd, hCancel, FALSE);
|
||||||
|
ok(hCtrl == hRad1, "hCtrl was %s\n", GetNameFromHWND(hCtrl));
|
||||||
|
|
||||||
|
// prev again
|
||||||
|
hCtrl = GetNextDlgTabItem(hwnd, hRad1, TRUE);
|
||||||
|
ok(hCtrl == hCancel, "hCtrl was %s\n", GetNameFromHWND(hCtrl));
|
||||||
|
hCtrl = GetNextDlgTabItem(hwnd, hRad2, TRUE);
|
||||||
|
ok(hCtrl == hRad1, "hCtrl was %s\n", GetNameFromHWND(hCtrl));
|
||||||
|
hCtrl = GetNextDlgTabItem(hwnd, hRad3, TRUE);
|
||||||
|
ok(hCtrl == hRad2, "hCtrl was %s\n", GetNameFromHWND(hCtrl));
|
||||||
|
hCtrl = GetNextDlgTabItem(hwnd, hPsh1, TRUE);
|
||||||
|
ok(hCtrl == hRad3, "hCtrl was %s\n", GetNameFromHWND(hCtrl));
|
||||||
|
hCtrl = GetNextDlgTabItem(hwnd, hRad5, TRUE);
|
||||||
|
ok(hCtrl == hPsh1, "hCtrl was %s\n", GetNameFromHWND(hCtrl));
|
||||||
|
hCtrl = GetNextDlgTabItem(hwnd, hRad6, TRUE);
|
||||||
|
ok(hCtrl == hRad5, "hCtrl was %s\n", GetNameFromHWND(hCtrl));
|
||||||
|
hCtrl = GetNextDlgTabItem(hwnd, hRad7, TRUE);
|
||||||
|
ok(hCtrl == hRad6, "hCtrl was %s\n", GetNameFromHWND(hCtrl));
|
||||||
|
hCtrl = GetNextDlgTabItem(hwnd, hOK, TRUE);
|
||||||
|
ok(hCtrl == hRad7, "hCtrl was %s\n", GetNameFromHWND(hCtrl));
|
||||||
|
hCtrl = GetNextDlgTabItem(hwnd, hCancel, TRUE);
|
||||||
|
ok(hCtrl == hOK, "hCtrl was %s\n", GetNameFromHWND(hCtrl));
|
||||||
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
DoTest2(HWND hwnd)
|
||||||
|
{
|
||||||
|
HWND hCtrl;
|
||||||
|
HWND hRad1, hRad2, hRad3, hPsh1, hRad5, hRad6, hRad7, hOK, hCancel;
|
||||||
|
|
||||||
|
// check control IDs
|
||||||
|
hCtrl = GetDlgItem(hwnd, rad1);
|
||||||
|
ok(GetDlgCtrlID(hCtrl) == rad1, "\n");
|
||||||
|
hCtrl = GetDlgItem(hwnd, rad2);
|
||||||
|
ok(GetDlgCtrlID(hCtrl) == rad2, "\n");
|
||||||
|
hCtrl = GetDlgItem(hwnd, rad3);
|
||||||
|
ok(GetDlgCtrlID(hCtrl) == rad3, "\n");
|
||||||
|
hCtrl = GetDlgItem(hwnd, psh1);
|
||||||
|
ok(GetDlgCtrlID(hCtrl) == psh1, "\n");
|
||||||
|
hCtrl = GetDlgItem(hwnd, rad5);
|
||||||
|
ok(GetDlgCtrlID(hCtrl) == rad5, "\n");
|
||||||
|
hCtrl = GetDlgItem(hwnd, rad6);
|
||||||
|
ok(GetDlgCtrlID(hCtrl) == rad6, "\n");
|
||||||
|
hCtrl = GetDlgItem(hwnd, rad7);
|
||||||
|
ok(GetDlgCtrlID(hCtrl) == rad7, "\n");
|
||||||
|
hCtrl = GetDlgItem(hwnd, IDOK);
|
||||||
|
ok(GetDlgCtrlID(hCtrl) == IDOK, "\n");
|
||||||
|
hCtrl = GetDlgItem(hwnd, IDCANCEL);
|
||||||
|
ok(GetDlgCtrlID(hCtrl) == IDCANCEL, "\n");
|
||||||
|
|
||||||
|
// get dialog items
|
||||||
|
hRad1 = GetDlgItem(hwnd, rad1);
|
||||||
|
hRad2 = GetDlgItem(hwnd, rad2);
|
||||||
|
hRad3 = GetDlgItem(hwnd, rad3);
|
||||||
|
hPsh1 = GetDlgItem(hwnd, psh1);
|
||||||
|
hRad5 = GetDlgItem(hwnd, rad5);
|
||||||
|
hRad6 = GetDlgItem(hwnd, rad6);
|
||||||
|
hRad7 = GetDlgItem(hwnd, rad7);
|
||||||
|
hOK = GetDlgItem(hwnd, IDOK);
|
||||||
|
hCancel = GetDlgItem(hwnd, IDCANCEL);
|
||||||
|
|
||||||
|
// group next
|
||||||
|
hCtrl = GetNextDlgGroupItem(hwnd, hRad1, FALSE);
|
||||||
|
ok(hCtrl == hRad2, "hCtrl is %s\n", GetNameFromHWND(hCtrl));
|
||||||
|
hCtrl = GetNextDlgGroupItem(hwnd, hRad2, FALSE);
|
||||||
|
ok(hCtrl == hRad3, "hCtrl is %s\n", GetNameFromHWND(hCtrl));
|
||||||
|
hCtrl = GetNextDlgGroupItem(hwnd, hRad3, FALSE);
|
||||||
|
ok(hCtrl == hPsh1, "hCtrl is %s\n", GetNameFromHWND(hCtrl));
|
||||||
|
hCtrl = GetNextDlgGroupItem(hwnd, hPsh1, FALSE);
|
||||||
|
ok(hCtrl == hRad5, "hCtrl is %s\n", GetNameFromHWND(hCtrl));
|
||||||
|
hCtrl = GetNextDlgGroupItem(hwnd, hRad5, FALSE);
|
||||||
|
ok(hCtrl == hRad6, "hCtrl is %s\n", GetNameFromHWND(hCtrl));
|
||||||
|
hCtrl = GetNextDlgGroupItem(hwnd, hRad6, FALSE);
|
||||||
|
ok(hCtrl == hRad7, "hCtrl is %s\n", GetNameFromHWND(hCtrl));
|
||||||
|
hCtrl = GetNextDlgGroupItem(hwnd, hRad7, FALSE);
|
||||||
|
ok(hCtrl == hOK, "hCtrl is %s\n", GetNameFromHWND(hCtrl));
|
||||||
|
hCtrl = GetNextDlgGroupItem(hwnd, hOK, FALSE);
|
||||||
|
ok(hCtrl == hCancel, "hCtrl is %s\n", GetNameFromHWND(hCtrl));
|
||||||
|
hCtrl = GetNextDlgGroupItem(hwnd, hCancel, FALSE);
|
||||||
|
ok(hCtrl == hRad1, "hCtrl is %s\n", GetNameFromHWND(hCtrl));
|
||||||
|
|
||||||
|
// group prev
|
||||||
|
hCtrl = GetNextDlgGroupItem(hwnd, hRad1, TRUE);
|
||||||
|
ok(hCtrl == hCancel, "hCtrl is %s\n", GetNameFromHWND(hCtrl));
|
||||||
|
hCtrl = GetNextDlgGroupItem(hwnd, hRad2, TRUE);
|
||||||
|
ok(hCtrl == hRad1, "hCtrl is %s\n", GetNameFromHWND(hCtrl));
|
||||||
|
hCtrl = GetNextDlgGroupItem(hwnd, hRad3, TRUE);
|
||||||
|
ok(hCtrl == hRad2, "hCtrl is %s\n", GetNameFromHWND(hCtrl));
|
||||||
|
hCtrl = GetNextDlgGroupItem(hwnd, hPsh1, TRUE);
|
||||||
|
ok(hCtrl == hRad3, "hCtrl is %s\n", GetNameFromHWND(hCtrl));
|
||||||
|
hCtrl = GetNextDlgGroupItem(hwnd, hRad5, TRUE);
|
||||||
|
ok(hCtrl == hPsh1, "hCtrl is %s\n", GetNameFromHWND(hCtrl));
|
||||||
|
hCtrl = GetNextDlgGroupItem(hwnd, hRad6, TRUE);
|
||||||
|
ok(hCtrl == hRad5, "hCtrl is %s\n", GetNameFromHWND(hCtrl));
|
||||||
|
hCtrl = GetNextDlgGroupItem(hwnd, hRad7, TRUE);
|
||||||
|
ok(hCtrl == hRad6, "hCtrl is %s\n", GetNameFromHWND(hCtrl));
|
||||||
|
hCtrl = GetNextDlgGroupItem(hwnd, hOK, TRUE);
|
||||||
|
ok(hCtrl == hRad7, "hCtrl is %s\n", GetNameFromHWND(hCtrl));
|
||||||
|
hCtrl = GetNextDlgGroupItem(hwnd, hCancel, TRUE);
|
||||||
|
ok(hCtrl == hOK, "hCtrl is %s\n", GetNameFromHWND(hCtrl));
|
||||||
|
|
||||||
|
// hide
|
||||||
|
ok(ShowWindow(hRad3, SW_HIDE) != 0, "\n");
|
||||||
|
ok(ShowWindow(hRad6, SW_HIDE) != 0, "\n");
|
||||||
|
|
||||||
|
// group next with hidden
|
||||||
|
hCtrl = GetNextDlgGroupItem(hwnd, hRad1, FALSE);
|
||||||
|
ok(hCtrl == hRad2, "hCtrl is %s\n", GetNameFromHWND(hCtrl));
|
||||||
|
hCtrl = GetNextDlgGroupItem(hwnd, hRad2, FALSE);
|
||||||
|
ok(hCtrl == hPsh1, "hCtrl is %s\n", GetNameFromHWND(hCtrl));
|
||||||
|
hCtrl = GetNextDlgGroupItem(hwnd, hPsh1, FALSE);
|
||||||
|
ok(hCtrl == hRad5, "hCtrl is %s\n", GetNameFromHWND(hCtrl));
|
||||||
|
hCtrl = GetNextDlgGroupItem(hwnd, hRad5, FALSE);
|
||||||
|
ok(hCtrl == hRad7, "hCtrl is %s\n", GetNameFromHWND(hCtrl));
|
||||||
|
hCtrl = GetNextDlgGroupItem(hwnd, hRad7, FALSE);
|
||||||
|
ok(hCtrl == hOK, "hCtrl is %s\n", GetNameFromHWND(hCtrl));
|
||||||
|
hCtrl = GetNextDlgGroupItem(hwnd, hOK, FALSE);
|
||||||
|
ok(hCtrl == hCancel, "hCtrl is %s\n", GetNameFromHWND(hCtrl));
|
||||||
|
hCtrl = GetNextDlgGroupItem(hwnd, hCancel, FALSE);
|
||||||
|
ok(hCtrl == hRad1, "hCtrl is %s\n", GetNameFromHWND(hCtrl));
|
||||||
|
|
||||||
|
// group prev with hidden
|
||||||
|
hCtrl = GetNextDlgGroupItem(hwnd, hRad1, TRUE);
|
||||||
|
ok(hCtrl == hCancel, "hCtrl is %s\n", GetNameFromHWND(hCtrl));
|
||||||
|
hCtrl = GetNextDlgGroupItem(hwnd, hRad2, TRUE);
|
||||||
|
ok(hCtrl == hRad1, "hCtrl is %s\n", GetNameFromHWND(hCtrl));
|
||||||
|
hCtrl = GetNextDlgGroupItem(hwnd, hPsh1, TRUE);
|
||||||
|
ok(hCtrl == hRad2, "hCtrl is %s\n", GetNameFromHWND(hCtrl));
|
||||||
|
hCtrl = GetNextDlgGroupItem(hwnd, hRad5, TRUE);
|
||||||
|
ok(hCtrl == hPsh1, "hCtrl is %s\n", GetNameFromHWND(hCtrl));
|
||||||
|
hCtrl = GetNextDlgGroupItem(hwnd, hRad7, TRUE);
|
||||||
|
ok(hCtrl == hRad5, "hCtrl is %s\n", GetNameFromHWND(hCtrl));
|
||||||
|
hCtrl = GetNextDlgGroupItem(hwnd, hOK, TRUE);
|
||||||
|
ok(hCtrl == hRad7, "hCtrl is %s\n", GetNameFromHWND(hCtrl));
|
||||||
|
hCtrl = GetNextDlgGroupItem(hwnd, hCancel, TRUE);
|
||||||
|
ok(hCtrl == hOK, "hCtrl is %s\n", GetNameFromHWND(hCtrl));
|
||||||
|
|
||||||
|
// show
|
||||||
|
ShowWindow(hRad3, SW_SHOWNOACTIVATE);
|
||||||
|
ShowWindow(hRad6, SW_SHOWNOACTIVATE);
|
||||||
|
}
|
||||||
|
|
||||||
|
static POINT
|
||||||
|
GetCtrlCenter(HWND hCtrl)
|
||||||
|
{
|
||||||
|
RECT rc;
|
||||||
|
POINT pt;
|
||||||
|
|
||||||
|
GetClientRect(hCtrl, &rc);
|
||||||
|
pt.x = (rc.left + rc.right) / 2;
|
||||||
|
pt.y = (rc.top + rc.bottom) / 2;
|
||||||
|
return pt;
|
||||||
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
DoTest3(HWND hwnd)
|
||||||
|
{
|
||||||
|
HWND hCtrl;
|
||||||
|
POINT pt;
|
||||||
|
|
||||||
|
CheckDlgButton(hwnd, rad1, BST_CHECKED);
|
||||||
|
CheckDlgButton(hwnd, rad5, BST_CHECKED);
|
||||||
|
|
||||||
|
ok(IsDlgButtonChecked(hwnd, rad1) == BST_CHECKED, "\n");
|
||||||
|
ok(IsDlgButtonChecked(hwnd, rad2) == BST_UNCHECKED, "\n");
|
||||||
|
ok(IsDlgButtonChecked(hwnd, rad3) == BST_UNCHECKED, "\n");
|
||||||
|
ok(IsDlgButtonChecked(hwnd, rad5) == BST_CHECKED, "\n");
|
||||||
|
ok(IsDlgButtonChecked(hwnd, rad6) == BST_UNCHECKED, "\n");
|
||||||
|
ok(IsDlgButtonChecked(hwnd, rad7) == BST_UNCHECKED, "\n");
|
||||||
|
|
||||||
|
hCtrl = GetDlgItem(hwnd, rad1);
|
||||||
|
pt = GetCtrlCenter(hCtrl);
|
||||||
|
SendMessage(hCtrl, WM_LBUTTONDOWN, MK_LBUTTON, MAKELPARAM(pt.x, pt.y));
|
||||||
|
SendMessage(hCtrl, WM_LBUTTONUP, MK_LBUTTON, MAKELPARAM(pt.x, pt.y));
|
||||||
|
|
||||||
|
ok(IsDlgButtonChecked(hwnd, rad1) == BST_CHECKED, "\n");
|
||||||
|
ok(IsDlgButtonChecked(hwnd, rad2) == BST_UNCHECKED, "\n");
|
||||||
|
ok(IsDlgButtonChecked(hwnd, rad3) == BST_UNCHECKED, "\n");
|
||||||
|
ok(IsDlgButtonChecked(hwnd, rad5) == BST_UNCHECKED, "\n");
|
||||||
|
ok(IsDlgButtonChecked(hwnd, rad6) == BST_UNCHECKED, "\n");
|
||||||
|
ok(IsDlgButtonChecked(hwnd, rad7) == BST_UNCHECKED, "\n");
|
||||||
|
|
||||||
|
hCtrl = GetDlgItem(hwnd, rad5);
|
||||||
|
pt = GetCtrlCenter(hCtrl);
|
||||||
|
SendMessage(hCtrl, WM_LBUTTONDOWN, MK_LBUTTON, MAKELPARAM(pt.x, pt.y));
|
||||||
|
SendMessage(hCtrl, WM_LBUTTONUP, MK_LBUTTON, MAKELPARAM(pt.x, pt.y));
|
||||||
|
|
||||||
|
ok(IsDlgButtonChecked(hwnd, rad1) == BST_UNCHECKED, "\n");
|
||||||
|
ok(IsDlgButtonChecked(hwnd, rad2) == BST_UNCHECKED, "\n");
|
||||||
|
ok(IsDlgButtonChecked(hwnd, rad3) == BST_UNCHECKED, "\n");
|
||||||
|
ok(IsDlgButtonChecked(hwnd, rad5) == BST_CHECKED, "\n");
|
||||||
|
ok(IsDlgButtonChecked(hwnd, rad6) == BST_UNCHECKED, "\n");
|
||||||
|
ok(IsDlgButtonChecked(hwnd, rad7) == BST_UNCHECKED, "\n");
|
||||||
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
OnCommand(HWND hwnd, int id, HWND hwndCtl, UINT codeNotify)
|
||||||
|
{
|
||||||
|
switch (id)
|
||||||
|
{
|
||||||
|
case IDC_TEST1:
|
||||||
|
DoTest1(hwnd);
|
||||||
|
PostMessage(hwnd, WM_COMMAND, MAKEWPARAM(IDC_TEST2, 0), 0);
|
||||||
|
break;
|
||||||
|
case IDC_TEST2:
|
||||||
|
DoTest2(hwnd);
|
||||||
|
PostMessage(hwnd, WM_COMMAND, MAKEWPARAM(IDC_TEST3, 0), 0);
|
||||||
|
break;
|
||||||
|
case IDC_TEST3:
|
||||||
|
DoTest3(hwnd);
|
||||||
|
PostMessage(hwnd, WM_COMMAND, MAKEWPARAM(IDC_END, 0), 0);
|
||||||
|
break;
|
||||||
|
case IDC_END:
|
||||||
|
EndDialog(hwnd, IDOK);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
INT_PTR CALLBACK
|
||||||
|
RadioButtonDialogProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
|
||||||
|
{
|
||||||
|
switch (uMsg)
|
||||||
|
{
|
||||||
|
HANDLE_MSG(hwnd, WM_INITDIALOG, OnInitDialog);
|
||||||
|
HANDLE_MSG(hwnd, WM_COMMAND, OnCommand);
|
||||||
|
}
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
START_TEST(NextDlgItem)
|
||||||
|
{
|
||||||
|
HMODULE hMod = GetModuleHandle(NULL);
|
||||||
|
ok(hMod != NULL, "\n");
|
||||||
|
DialogBox(hMod, TEXT("NEXTDLGITEM"), NULL, RadioButtonDialogProc);
|
||||||
|
}
|
|
@ -22,6 +22,7 @@ extern void func_GetWindowPlacement(void);
|
||||||
extern void func_InitializeLpkHooks(void);
|
extern void func_InitializeLpkHooks(void);
|
||||||
extern void func_LoadImage(void);
|
extern void func_LoadImage(void);
|
||||||
extern void func_LookupIconIdFromDirectoryEx(void);
|
extern void func_LookupIconIdFromDirectoryEx(void);
|
||||||
|
extern void func_NextDlgItem(void);
|
||||||
extern void func_RealGetWindowClass(void);
|
extern void func_RealGetWindowClass(void);
|
||||||
extern void func_RegisterHotKey(void);
|
extern void func_RegisterHotKey(void);
|
||||||
extern void func_ScrollDC(void);
|
extern void func_ScrollDC(void);
|
||||||
|
@ -58,6 +59,7 @@ const struct test winetest_testlist[] =
|
||||||
{ "InitializeLpkHooks", func_InitializeLpkHooks },
|
{ "InitializeLpkHooks", func_InitializeLpkHooks },
|
||||||
{ "LoadImage", func_LoadImage },
|
{ "LoadImage", func_LoadImage },
|
||||||
{ "LookupIconIdFromDirectoryEx", func_LookupIconIdFromDirectoryEx },
|
{ "LookupIconIdFromDirectoryEx", func_LookupIconIdFromDirectoryEx },
|
||||||
|
{ "NextDlgItem", func_NextDlgItem },
|
||||||
{ "RealGetWindowClass", func_RealGetWindowClass },
|
{ "RealGetWindowClass", func_RealGetWindowClass },
|
||||||
{ "RegisterHotKey", func_RegisterHotKey },
|
{ "RegisterHotKey", func_RegisterHotKey },
|
||||||
{ "ScrollDC", func_ScrollDC },
|
{ "ScrollDC", func_ScrollDC },
|
||||||
|
|
|
@ -1,4 +1,6 @@
|
||||||
#include <windef.h>
|
#include <windef.h>
|
||||||
|
#include <winuser.h>
|
||||||
|
#include <dlgs.h>
|
||||||
#include "resource.h"
|
#include "resource.h"
|
||||||
|
|
||||||
LANGUAGE LANG_NEUTRAL, SUBLANG_NEUTRAL
|
LANGUAGE LANG_NEUTRAL, SUBLANG_NEUTRAL
|
||||||
|
@ -13,3 +15,19 @@ FONT 8, "MS Shell Dlg"
|
||||||
{
|
{
|
||||||
PUSHBUTTON "a button", 1, 5,5, 100,20
|
PUSHBUTTON "a button", 1, 5,5, 100,20
|
||||||
}
|
}
|
||||||
|
|
||||||
|
NEXTDLGITEM DIALOG 0, 0, 281, 135
|
||||||
|
STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
|
||||||
|
CAPTION "NextDlgItem"
|
||||||
|
FONT 8, "MS Shell Dlg"
|
||||||
|
{
|
||||||
|
CONTROL "rad1", rad1, "BUTTON", BS_AUTORADIOBUTTON | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 10, 30, 60, 14
|
||||||
|
CONTROL "rad2", rad2, "BUTTON", BS_AUTORADIOBUTTON | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 10, 50, 60, 14
|
||||||
|
CONTROL "rad3", rad3, "BUTTON", BS_AUTORADIOBUTTON | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 10, 70, 60, 14
|
||||||
|
CONTROL "psh1", psh1, "BUTTON", BS_PUSHBUTTON | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 93, 60, 60, 14
|
||||||
|
CONTROL "rad5", rad5, "BUTTON", BS_AUTORADIOBUTTON | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 160, 30, 60, 14
|
||||||
|
CONTROL "rad6", rad6, "BUTTON", BS_AUTORADIOBUTTON | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 160, 50, 60, 14
|
||||||
|
CONTROL "rad7", rad7, "BUTTON", BS_AUTORADIOBUTTON | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 160, 70, 60, 14
|
||||||
|
CONTROL "OK", IDOK, "BUTTON", BS_DEFPUSHBUTTON | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 65, 98, 60, 14
|
||||||
|
CONTROL "Cancel", IDCANCEL, "BUTTON", BS_PUSHBUTTON | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 187, 100, 60, 14
|
||||||
|
}
|
||||||
|
|
Loading…
Reference in a new issue