1 /* 2 * PROJECT: ReactOS api tests 3 * LICENSE: GPL - See COPYING in the top level directory 4 * PURPOSE: Test for GetNextDlgTabItem, GetNextDlgGroupItem 5 * PROGRAMMERS: Katayama Hirofumi MZ 6 */ 7 8 #include "precomp.h" 9 10 #include <windowsx.h> 11 #include <dlgs.h> 12 13 #define IDC_TEST1 1 14 #define IDC_TEST2 2 15 #define IDC_TEST3 3 16 #define IDC_END 9 17 18 static BOOL 19 OnInitDialog(HWND hwnd, HWND hwndFocus, LPARAM lParam) 20 { 21 PostMessage(hwnd, WM_COMMAND, MAKEWPARAM(IDC_TEST1, 0), 0); 22 return TRUE; 23 } 24 25 static const char * 26 GetNameFromID(INT ID) 27 { 28 switch (ID) 29 { 30 case rad1: return "rad1"; 31 case rad2: return "rad2"; 32 case rad3: return "rad3"; 33 case psh1: return "psh1"; 34 case rad5: return "rad5"; 35 case rad6: return "rad6"; 36 case rad7: return "rad7"; 37 case IDOK: return "OK button"; 38 case IDCANCEL: return "Cancel button"; 39 default: return "(unknown)"; 40 } 41 } 42 43 static const char * 44 GetNameFromHWND(HWND hwnd) 45 { 46 return GetNameFromID(GetDlgCtrlID(hwnd)); 47 } 48 49 static void 50 DoTest1(HWND hwnd) 51 { 52 HWND hCtrl; 53 HWND hRad1, hRad2, hRad3, hPsh1, hRad5, hRad6, hRad7, hOK, hCancel; 54 55 // check control IDs 56 hCtrl = GetDlgItem(hwnd, rad1); 57 ok(GetDlgCtrlID(hCtrl) == rad1, "\n"); 58 hCtrl = GetDlgItem(hwnd, rad2); 59 ok(GetDlgCtrlID(hCtrl) == rad2, "\n"); 60 hCtrl = GetDlgItem(hwnd, rad3); 61 ok(GetDlgCtrlID(hCtrl) == rad3, "\n"); 62 hCtrl = GetDlgItem(hwnd, psh1); 63 ok(GetDlgCtrlID(hCtrl) == psh1, "\n"); 64 hCtrl = GetDlgItem(hwnd, rad5); 65 ok(GetDlgCtrlID(hCtrl) == rad5, "\n"); 66 hCtrl = GetDlgItem(hwnd, rad6); 67 ok(GetDlgCtrlID(hCtrl) == rad6, "\n"); 68 hCtrl = GetDlgItem(hwnd, rad7); 69 ok(GetDlgCtrlID(hCtrl) == rad7, "\n"); 70 hCtrl = GetDlgItem(hwnd, IDOK); 71 ok(GetDlgCtrlID(hCtrl) == IDOK, "\n"); 72 hCtrl = GetDlgItem(hwnd, IDCANCEL); 73 ok(GetDlgCtrlID(hCtrl) == IDCANCEL, "\n"); 74 75 // get dialog items 76 hRad1 = GetDlgItem(hwnd, rad1); 77 hRad2 = GetDlgItem(hwnd, rad2); 78 hRad3 = GetDlgItem(hwnd, rad3); 79 hPsh1 = GetDlgItem(hwnd, psh1); 80 hRad5 = GetDlgItem(hwnd, rad5); 81 hRad6 = GetDlgItem(hwnd, rad6); 82 hRad7 = GetDlgItem(hwnd, rad7); 83 hOK = GetDlgItem(hwnd, IDOK); 84 hCancel = GetDlgItem(hwnd, IDCANCEL); 85 86 // next 87 hCtrl = GetNextDlgTabItem(hwnd, hRad1, FALSE); 88 ok(hCtrl == hRad2, "hCtrl was %s\n", GetNameFromHWND(hCtrl)); 89 hCtrl = GetNextDlgTabItem(hwnd, hRad2, FALSE); 90 ok(hCtrl == hRad3, "hCtrl was %s\n", GetNameFromHWND(hCtrl)); 91 hCtrl = GetNextDlgTabItem(hwnd, hRad3, FALSE); 92 ok(hCtrl == hPsh1, "hCtrl was %s\n", GetNameFromHWND(hCtrl)); 93 hCtrl = GetNextDlgTabItem(hwnd, hPsh1, FALSE); 94 ok(hCtrl == hRad5, "hCtrl was %s\n", GetNameFromHWND(hCtrl)); 95 hCtrl = GetNextDlgTabItem(hwnd, hRad5, FALSE); 96 ok(hCtrl == hRad6, "hCtrl was %s\n", GetNameFromHWND(hCtrl)); 97 hCtrl = GetNextDlgTabItem(hwnd, hRad6, FALSE); 98 ok(hCtrl == hRad7, "hCtrl was %s\n", GetNameFromHWND(hCtrl)); 99 hCtrl = GetNextDlgTabItem(hwnd, hRad7, FALSE); 100 ok(hCtrl == hOK, "hCtrl was %s\n", GetNameFromHWND(hCtrl)); 101 hCtrl = GetNextDlgTabItem(hwnd, hOK, FALSE); 102 ok(hCtrl == hCancel, "hCtrl was %s\n", GetNameFromHWND(hCtrl)); 103 hCtrl = GetNextDlgTabItem(hwnd, hCancel, FALSE); 104 ok(hCtrl == hRad1, "hCtrl was %s\n", GetNameFromHWND(hCtrl)); 105 106 // prev 107 hCtrl = GetNextDlgTabItem(hwnd, hRad1, TRUE); 108 ok(hCtrl == hCancel, "hCtrl was %s\n", GetNameFromHWND(hCtrl)); 109 hCtrl = GetNextDlgTabItem(hwnd, hRad2, TRUE); 110 ok(hCtrl == hRad1, "hCtrl was %s\n", GetNameFromHWND(hCtrl)); 111 hCtrl = GetNextDlgTabItem(hwnd, hRad3, TRUE); 112 ok(hCtrl == hRad2, "hCtrl was %s\n", GetNameFromHWND(hCtrl)); 113 hCtrl = GetNextDlgTabItem(hwnd, hPsh1, TRUE); 114 ok(hCtrl == hRad3, "hCtrl was %s\n", GetNameFromHWND(hCtrl)); 115 hCtrl = GetNextDlgTabItem(hwnd, hRad5, TRUE); 116 ok(hCtrl == hPsh1, "hCtrl was %s\n", GetNameFromHWND(hCtrl)); 117 hCtrl = GetNextDlgTabItem(hwnd, hRad6, TRUE); 118 ok(hCtrl == hRad5, "hCtrl was %s\n", GetNameFromHWND(hCtrl)); 119 hCtrl = GetNextDlgTabItem(hwnd, hRad7, TRUE); 120 ok(hCtrl == hRad6, "hCtrl was %s\n", GetNameFromHWND(hCtrl)); 121 hCtrl = GetNextDlgTabItem(hwnd, hOK, TRUE); 122 ok(hCtrl == hRad7, "hCtrl was %s\n", GetNameFromHWND(hCtrl)); 123 hCtrl = GetNextDlgTabItem(hwnd, hCancel, TRUE); 124 ok(hCtrl == hOK, "hCtrl was %s\n", GetNameFromHWND(hCtrl)); 125 126 // hide 127 ok(ShowWindow(hRad3, SW_HIDE) != 0, "\n"); 128 ok(ShowWindow(hRad6, SW_HIDE) != 0, "\n"); 129 130 // next with hidden 131 hCtrl = GetNextDlgTabItem(hwnd, hRad1, FALSE); 132 ok(hCtrl == hRad2, "hCtrl was %s\n", GetNameFromHWND(hCtrl)); 133 hCtrl = GetNextDlgTabItem(hwnd, hRad2, FALSE); 134 ok(hCtrl == hPsh1, "hCtrl was %s\n", GetNameFromHWND(hCtrl)); 135 hCtrl = GetNextDlgTabItem(hwnd, hPsh1, FALSE); 136 ok(hCtrl == hRad5, "hCtrl was %s\n", GetNameFromHWND(hCtrl)); 137 hCtrl = GetNextDlgTabItem(hwnd, hRad5, FALSE); 138 ok(hCtrl == hRad7, "hCtrl was %s\n", GetNameFromHWND(hCtrl)); 139 hCtrl = GetNextDlgTabItem(hwnd, hRad7, FALSE); 140 ok(hCtrl == hOK, "hCtrl was %s\n", GetNameFromHWND(hCtrl)); 141 hCtrl = GetNextDlgTabItem(hwnd, hOK, FALSE); 142 ok(hCtrl == hCancel, "hCtrl was %s\n", GetNameFromHWND(hCtrl)); 143 hCtrl = GetNextDlgTabItem(hwnd, hCancel, FALSE); 144 ok(hCtrl == hRad1, "hCtrl was %s\n", GetNameFromHWND(hCtrl)); 145 146 // prev with hidden 147 hCtrl = GetNextDlgTabItem(hwnd, hRad1, TRUE); 148 ok(hCtrl == hCancel, "hCtrl was %s\n", GetNameFromHWND(hCtrl)); 149 hCtrl = GetNextDlgTabItem(hwnd, hRad2, TRUE); 150 ok(hCtrl == hRad1, "hCtrl was %s\n", GetNameFromHWND(hCtrl)); 151 hCtrl = GetNextDlgTabItem(hwnd, hPsh1, TRUE); 152 ok(hCtrl == hRad2, "hCtrl was %s\n", GetNameFromHWND(hCtrl)); 153 hCtrl = GetNextDlgTabItem(hwnd, hRad5, TRUE); 154 ok(hCtrl == hPsh1, "hCtrl was %s\n", GetNameFromHWND(hCtrl)); 155 hCtrl = GetNextDlgTabItem(hwnd, hRad7, TRUE); 156 ok(hCtrl == hRad5, "hCtrl was %s\n", GetNameFromHWND(hCtrl)); 157 hCtrl = GetNextDlgTabItem(hwnd, hOK, TRUE); 158 ok(hCtrl == hRad7, "hCtrl was %s\n", GetNameFromHWND(hCtrl)); 159 hCtrl = GetNextDlgTabItem(hwnd, hCancel, TRUE); 160 ok(hCtrl == hOK, "hCtrl was %s\n", GetNameFromHWND(hCtrl)); 161 162 // show 163 ShowWindow(hRad3, SW_SHOWNOACTIVATE); 164 ShowWindow(hRad6, SW_SHOWNOACTIVATE); 165 166 // next again 167 hCtrl = GetNextDlgTabItem(hwnd, hRad1, FALSE); 168 ok(hCtrl == hRad2, "hCtrl was %s\n", GetNameFromHWND(hCtrl)); 169 hCtrl = GetNextDlgTabItem(hwnd, hRad2, FALSE); 170 ok(hCtrl == hRad3, "hCtrl was %s\n", GetNameFromHWND(hCtrl)); 171 hCtrl = GetNextDlgTabItem(hwnd, hRad3, FALSE); 172 ok(hCtrl == hPsh1, "hCtrl was %s\n", GetNameFromHWND(hCtrl)); 173 hCtrl = GetNextDlgTabItem(hwnd, hPsh1, FALSE); 174 ok(hCtrl == hRad5, "hCtrl was %s\n", GetNameFromHWND(hCtrl)); 175 hCtrl = GetNextDlgTabItem(hwnd, hRad5, FALSE); 176 ok(hCtrl == hRad6, "hCtrl was %s\n", GetNameFromHWND(hCtrl)); 177 hCtrl = GetNextDlgTabItem(hwnd, hRad6, FALSE); 178 ok(hCtrl == hRad7, "hCtrl was %s\n", GetNameFromHWND(hCtrl)); 179 hCtrl = GetNextDlgTabItem(hwnd, hRad7, FALSE); 180 ok(hCtrl == hOK, "hCtrl was %s\n", GetNameFromHWND(hCtrl)); 181 hCtrl = GetNextDlgTabItem(hwnd, hOK, FALSE); 182 ok(hCtrl == hCancel, "hCtrl was %s\n", GetNameFromHWND(hCtrl)); 183 hCtrl = GetNextDlgTabItem(hwnd, hCancel, FALSE); 184 ok(hCtrl == hRad1, "hCtrl was %s\n", GetNameFromHWND(hCtrl)); 185 186 // prev again 187 hCtrl = GetNextDlgTabItem(hwnd, hRad1, TRUE); 188 ok(hCtrl == hCancel, "hCtrl was %s\n", GetNameFromHWND(hCtrl)); 189 hCtrl = GetNextDlgTabItem(hwnd, hRad2, TRUE); 190 ok(hCtrl == hRad1, "hCtrl was %s\n", GetNameFromHWND(hCtrl)); 191 hCtrl = GetNextDlgTabItem(hwnd, hRad3, TRUE); 192 ok(hCtrl == hRad2, "hCtrl was %s\n", GetNameFromHWND(hCtrl)); 193 hCtrl = GetNextDlgTabItem(hwnd, hPsh1, TRUE); 194 ok(hCtrl == hRad3, "hCtrl was %s\n", GetNameFromHWND(hCtrl)); 195 hCtrl = GetNextDlgTabItem(hwnd, hRad5, TRUE); 196 ok(hCtrl == hPsh1, "hCtrl was %s\n", GetNameFromHWND(hCtrl)); 197 hCtrl = GetNextDlgTabItem(hwnd, hRad6, TRUE); 198 ok(hCtrl == hRad5, "hCtrl was %s\n", GetNameFromHWND(hCtrl)); 199 hCtrl = GetNextDlgTabItem(hwnd, hRad7, TRUE); 200 ok(hCtrl == hRad6, "hCtrl was %s\n", GetNameFromHWND(hCtrl)); 201 hCtrl = GetNextDlgTabItem(hwnd, hOK, TRUE); 202 ok(hCtrl == hRad7, "hCtrl was %s\n", GetNameFromHWND(hCtrl)); 203 hCtrl = GetNextDlgTabItem(hwnd, hCancel, TRUE); 204 ok(hCtrl == hOK, "hCtrl was %s\n", GetNameFromHWND(hCtrl)); 205 } 206 207 static void 208 DoTest2(HWND hwnd) 209 { 210 HWND hCtrl; 211 HWND hRad1, hRad2, hRad3, hPsh1, hRad5, hRad6, hRad7, hOK, hCancel; 212 213 // check control IDs 214 hCtrl = GetDlgItem(hwnd, rad1); 215 ok(GetDlgCtrlID(hCtrl) == rad1, "\n"); 216 hCtrl = GetDlgItem(hwnd, rad2); 217 ok(GetDlgCtrlID(hCtrl) == rad2, "\n"); 218 hCtrl = GetDlgItem(hwnd, rad3); 219 ok(GetDlgCtrlID(hCtrl) == rad3, "\n"); 220 hCtrl = GetDlgItem(hwnd, psh1); 221 ok(GetDlgCtrlID(hCtrl) == psh1, "\n"); 222 hCtrl = GetDlgItem(hwnd, rad5); 223 ok(GetDlgCtrlID(hCtrl) == rad5, "\n"); 224 hCtrl = GetDlgItem(hwnd, rad6); 225 ok(GetDlgCtrlID(hCtrl) == rad6, "\n"); 226 hCtrl = GetDlgItem(hwnd, rad7); 227 ok(GetDlgCtrlID(hCtrl) == rad7, "\n"); 228 hCtrl = GetDlgItem(hwnd, IDOK); 229 ok(GetDlgCtrlID(hCtrl) == IDOK, "\n"); 230 hCtrl = GetDlgItem(hwnd, IDCANCEL); 231 ok(GetDlgCtrlID(hCtrl) == IDCANCEL, "\n"); 232 233 // get dialog items 234 hRad1 = GetDlgItem(hwnd, rad1); 235 hRad2 = GetDlgItem(hwnd, rad2); 236 hRad3 = GetDlgItem(hwnd, rad3); 237 hPsh1 = GetDlgItem(hwnd, psh1); 238 hRad5 = GetDlgItem(hwnd, rad5); 239 hRad6 = GetDlgItem(hwnd, rad6); 240 hRad7 = GetDlgItem(hwnd, rad7); 241 hOK = GetDlgItem(hwnd, IDOK); 242 hCancel = GetDlgItem(hwnd, IDCANCEL); 243 244 // group next 245 hCtrl = GetNextDlgGroupItem(hwnd, hRad1, FALSE); 246 ok(hCtrl == hRad2, "hCtrl is %s\n", GetNameFromHWND(hCtrl)); 247 hCtrl = GetNextDlgGroupItem(hwnd, hRad2, FALSE); 248 ok(hCtrl == hRad3, "hCtrl is %s\n", GetNameFromHWND(hCtrl)); 249 hCtrl = GetNextDlgGroupItem(hwnd, hRad3, FALSE); 250 ok(hCtrl == hPsh1, "hCtrl is %s\n", GetNameFromHWND(hCtrl)); 251 hCtrl = GetNextDlgGroupItem(hwnd, hPsh1, FALSE); 252 ok(hCtrl == hRad5, "hCtrl is %s\n", GetNameFromHWND(hCtrl)); 253 hCtrl = GetNextDlgGroupItem(hwnd, hRad5, FALSE); 254 ok(hCtrl == hRad6, "hCtrl is %s\n", GetNameFromHWND(hCtrl)); 255 hCtrl = GetNextDlgGroupItem(hwnd, hRad6, FALSE); 256 ok(hCtrl == hRad7, "hCtrl is %s\n", GetNameFromHWND(hCtrl)); 257 hCtrl = GetNextDlgGroupItem(hwnd, hRad7, FALSE); 258 ok(hCtrl == hOK, "hCtrl is %s\n", GetNameFromHWND(hCtrl)); 259 hCtrl = GetNextDlgGroupItem(hwnd, hOK, FALSE); 260 ok(hCtrl == hCancel, "hCtrl is %s\n", GetNameFromHWND(hCtrl)); 261 hCtrl = GetNextDlgGroupItem(hwnd, hCancel, FALSE); 262 ok(hCtrl == hRad1, "hCtrl is %s\n", GetNameFromHWND(hCtrl)); 263 264 // group prev 265 hCtrl = GetNextDlgGroupItem(hwnd, hRad1, TRUE); 266 ok(hCtrl == hCancel, "hCtrl is %s\n", GetNameFromHWND(hCtrl)); 267 hCtrl = GetNextDlgGroupItem(hwnd, hRad2, TRUE); 268 ok(hCtrl == hRad1, "hCtrl is %s\n", GetNameFromHWND(hCtrl)); 269 hCtrl = GetNextDlgGroupItem(hwnd, hRad3, TRUE); 270 ok(hCtrl == hRad2, "hCtrl is %s\n", GetNameFromHWND(hCtrl)); 271 hCtrl = GetNextDlgGroupItem(hwnd, hPsh1, TRUE); 272 ok(hCtrl == hRad3, "hCtrl is %s\n", GetNameFromHWND(hCtrl)); 273 hCtrl = GetNextDlgGroupItem(hwnd, hRad5, TRUE); 274 ok(hCtrl == hPsh1, "hCtrl is %s\n", GetNameFromHWND(hCtrl)); 275 hCtrl = GetNextDlgGroupItem(hwnd, hRad6, TRUE); 276 ok(hCtrl == hRad5, "hCtrl is %s\n", GetNameFromHWND(hCtrl)); 277 hCtrl = GetNextDlgGroupItem(hwnd, hRad7, TRUE); 278 ok(hCtrl == hRad6, "hCtrl is %s\n", GetNameFromHWND(hCtrl)); 279 hCtrl = GetNextDlgGroupItem(hwnd, hOK, TRUE); 280 ok(hCtrl == hRad7, "hCtrl is %s\n", GetNameFromHWND(hCtrl)); 281 hCtrl = GetNextDlgGroupItem(hwnd, hCancel, TRUE); 282 ok(hCtrl == hOK, "hCtrl is %s\n", GetNameFromHWND(hCtrl)); 283 284 // hide 285 ok(ShowWindow(hRad3, SW_HIDE) != 0, "\n"); 286 ok(ShowWindow(hRad6, SW_HIDE) != 0, "\n"); 287 288 // group next with hidden 289 hCtrl = GetNextDlgGroupItem(hwnd, hRad1, FALSE); 290 ok(hCtrl == hRad2, "hCtrl is %s\n", GetNameFromHWND(hCtrl)); 291 hCtrl = GetNextDlgGroupItem(hwnd, hRad2, FALSE); 292 ok(hCtrl == hPsh1, "hCtrl is %s\n", GetNameFromHWND(hCtrl)); 293 hCtrl = GetNextDlgGroupItem(hwnd, hPsh1, FALSE); 294 ok(hCtrl == hRad5, "hCtrl is %s\n", GetNameFromHWND(hCtrl)); 295 hCtrl = GetNextDlgGroupItem(hwnd, hRad5, FALSE); 296 ok(hCtrl == hRad7, "hCtrl is %s\n", GetNameFromHWND(hCtrl)); 297 hCtrl = GetNextDlgGroupItem(hwnd, hRad7, FALSE); 298 ok(hCtrl == hOK, "hCtrl is %s\n", GetNameFromHWND(hCtrl)); 299 hCtrl = GetNextDlgGroupItem(hwnd, hOK, FALSE); 300 ok(hCtrl == hCancel, "hCtrl is %s\n", GetNameFromHWND(hCtrl)); 301 hCtrl = GetNextDlgGroupItem(hwnd, hCancel, FALSE); 302 ok(hCtrl == hRad1, "hCtrl is %s\n", GetNameFromHWND(hCtrl)); 303 304 // group prev with hidden 305 hCtrl = GetNextDlgGroupItem(hwnd, hRad1, TRUE); 306 ok(hCtrl == hCancel, "hCtrl is %s\n", GetNameFromHWND(hCtrl)); 307 hCtrl = GetNextDlgGroupItem(hwnd, hRad2, TRUE); 308 ok(hCtrl == hRad1, "hCtrl is %s\n", GetNameFromHWND(hCtrl)); 309 hCtrl = GetNextDlgGroupItem(hwnd, hPsh1, TRUE); 310 ok(hCtrl == hRad2, "hCtrl is %s\n", GetNameFromHWND(hCtrl)); 311 hCtrl = GetNextDlgGroupItem(hwnd, hRad5, TRUE); 312 ok(hCtrl == hPsh1, "hCtrl is %s\n", GetNameFromHWND(hCtrl)); 313 hCtrl = GetNextDlgGroupItem(hwnd, hRad7, TRUE); 314 ok(hCtrl == hRad5, "hCtrl is %s\n", GetNameFromHWND(hCtrl)); 315 hCtrl = GetNextDlgGroupItem(hwnd, hOK, TRUE); 316 ok(hCtrl == hRad7, "hCtrl is %s\n", GetNameFromHWND(hCtrl)); 317 hCtrl = GetNextDlgGroupItem(hwnd, hCancel, TRUE); 318 ok(hCtrl == hOK, "hCtrl is %s\n", GetNameFromHWND(hCtrl)); 319 320 // show 321 ShowWindow(hRad3, SW_SHOWNOACTIVATE); 322 ShowWindow(hRad6, SW_SHOWNOACTIVATE); 323 } 324 325 static POINT 326 GetCtrlCenter(HWND hCtrl) 327 { 328 RECT rc; 329 POINT pt; 330 331 GetClientRect(hCtrl, &rc); 332 pt.x = (rc.left + rc.right) / 2; 333 pt.y = (rc.top + rc.bottom) / 2; 334 return pt; 335 } 336 337 static void 338 DoTest3(HWND hwnd) 339 { 340 HWND hCtrl; 341 POINT pt; 342 343 CheckDlgButton(hwnd, rad1, BST_CHECKED); 344 CheckDlgButton(hwnd, rad5, BST_CHECKED); 345 346 ok(IsDlgButtonChecked(hwnd, rad1) == BST_CHECKED, "\n"); 347 ok(IsDlgButtonChecked(hwnd, rad2) == BST_UNCHECKED, "\n"); 348 ok(IsDlgButtonChecked(hwnd, rad3) == BST_UNCHECKED, "\n"); 349 ok(IsDlgButtonChecked(hwnd, rad5) == BST_CHECKED, "\n"); 350 ok(IsDlgButtonChecked(hwnd, rad6) == BST_UNCHECKED, "\n"); 351 ok(IsDlgButtonChecked(hwnd, rad7) == BST_UNCHECKED, "\n"); 352 353 hCtrl = GetDlgItem(hwnd, rad1); 354 pt = GetCtrlCenter(hCtrl); 355 SendMessage(hCtrl, WM_LBUTTONDOWN, MK_LBUTTON, MAKELPARAM(pt.x, pt.y)); 356 SendMessage(hCtrl, WM_LBUTTONUP, MK_LBUTTON, MAKELPARAM(pt.x, pt.y)); 357 358 ok(IsDlgButtonChecked(hwnd, rad1) == BST_CHECKED, "\n"); 359 ok(IsDlgButtonChecked(hwnd, rad2) == BST_UNCHECKED, "\n"); 360 ok(IsDlgButtonChecked(hwnd, rad3) == BST_UNCHECKED, "\n"); 361 ok(IsDlgButtonChecked(hwnd, rad5) == BST_UNCHECKED, "\n"); 362 ok(IsDlgButtonChecked(hwnd, rad6) == BST_UNCHECKED, "\n"); 363 ok(IsDlgButtonChecked(hwnd, rad7) == BST_UNCHECKED, "\n"); 364 365 hCtrl = GetDlgItem(hwnd, rad5); 366 pt = GetCtrlCenter(hCtrl); 367 SendMessage(hCtrl, WM_LBUTTONDOWN, MK_LBUTTON, MAKELPARAM(pt.x, pt.y)); 368 SendMessage(hCtrl, WM_LBUTTONUP, MK_LBUTTON, MAKELPARAM(pt.x, pt.y)); 369 370 ok(IsDlgButtonChecked(hwnd, rad1) == BST_UNCHECKED, "\n"); 371 ok(IsDlgButtonChecked(hwnd, rad2) == BST_UNCHECKED, "\n"); 372 ok(IsDlgButtonChecked(hwnd, rad3) == BST_UNCHECKED, "\n"); 373 ok(IsDlgButtonChecked(hwnd, rad5) == BST_CHECKED, "\n"); 374 ok(IsDlgButtonChecked(hwnd, rad6) == BST_UNCHECKED, "\n"); 375 ok(IsDlgButtonChecked(hwnd, rad7) == BST_UNCHECKED, "\n"); 376 } 377 378 static void 379 OnCommand(HWND hwnd, int id, HWND hwndCtl, UINT codeNotify) 380 { 381 switch (id) 382 { 383 case IDC_TEST1: 384 DoTest1(hwnd); 385 PostMessage(hwnd, WM_COMMAND, MAKEWPARAM(IDC_TEST2, 0), 0); 386 break; 387 case IDC_TEST2: 388 DoTest2(hwnd); 389 PostMessage(hwnd, WM_COMMAND, MAKEWPARAM(IDC_TEST3, 0), 0); 390 break; 391 case IDC_TEST3: 392 DoTest3(hwnd); 393 PostMessage(hwnd, WM_COMMAND, MAKEWPARAM(IDC_END, 0), 0); 394 break; 395 case IDC_END: 396 EndDialog(hwnd, IDOK); 397 break; 398 } 399 } 400 401 INT_PTR CALLBACK 402 RadioButtonDialogProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam) 403 { 404 switch (uMsg) 405 { 406 HANDLE_MSG(hwnd, WM_INITDIALOG, OnInitDialog); 407 HANDLE_MSG(hwnd, WM_COMMAND, OnCommand); 408 } 409 return 0; 410 } 411 412 START_TEST(NextDlgItem) 413 { 414 HMODULE hMod = GetModuleHandle(NULL); 415 ok(hMod != NULL, "\n"); 416 DialogBox(hMod, TEXT("NEXTDLGITEM"), NULL, RadioButtonDialogProc); 417 } 418