Changeset 984 for trunk/src/user32
- Timestamp:
- Sep 19, 1999, 3:27:48 PM (26 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/user32/user32.cpp
r962 r984 1 /* $Id: user32.cpp,v 1.2 6 1999-09-16 18:00:44 dengertExp $ */1 /* $Id: user32.cpp,v 1.27 1999-09-19 13:27:48 cbratschi Exp $ */ 2 2 3 3 /* … … 38 38 #include <oslibwin.h> 39 39 #include <win32wnd.h> 40 #include <winuser.h> 40 41 41 42 //undocumented stuff … … 331 332 } 332 333 333 /* String Manipulati ngFunctions */334 /* String Manipulation Functions */ 334 335 335 336 int __cdecl wsprintfA(char *lpOut, LPCSTR lpFmt, ...) … … 444 445 //****************************************************************************** 445 446 //****************************************************************************** 447 int WIN32API wvsprintfA( LPSTR lpOutput, LPCSTR lpFormat, va_list arglist) 448 { 449 #ifdef DEBUG 450 WriteLog("USER32: wvsprintfA\n"); 451 #endif 452 return O32_wvsprintf(lpOutput,lpFormat,(LPCVOID*)arglist); 453 } 454 //****************************************************************************** 455 //****************************************************************************** 456 int WIN32API wvsprintfW(LPWSTR lpOutput, LPCWSTR lpFormat, va_list arglist) 457 { 458 int rc; 459 char szOut[256]; 460 char *lpFmtA; 461 462 lpFmtA = UnicodeToAsciiString((LPWSTR)lpFormat); 463 #ifdef DEBUG 464 WriteLog("USER32: wvsprintfW, DOES NOT HANDLE UNICODE STRINGS!\n"); 465 WriteLog("USER32: %s\n", lpFormat); 466 #endif 467 rc = O32_wvsprintf(szOut, lpFmtA, (LPCVOID)arglist); 468 469 AsciiToUnicode(szOut, lpOutput); 470 #ifdef DEBUG 471 WriteLog("USER32: %s\n", lpOutput); 472 #endif 473 FreeAsciiString(lpFmtA); 474 return(rc); 475 } 476 477 /* Caret Functions */ 478 479 BOOL WIN32API CreateCaret( HWND hWnd, HBITMAP hBitmap, int nWidth, int nHeight) 480 { 481 #ifdef DEBUG 482 WriteLog("USER32: CreateCaret\n"); 483 #endif 484 hWnd = Win32Window::Win32ToOS2Handle(hWnd); 485 return O32_CreateCaret(hWnd,hBitmap,nWidth,nHeight); 486 } 487 //****************************************************************************** 488 //****************************************************************************** 489 BOOL WIN32API DestroyCaret(void) 490 { 491 #ifdef DEBUG 492 WriteLog("USER32: DestroyCaret\n"); 493 #endif 494 return O32_DestroyCaret(); 495 } 496 //****************************************************************************** 497 //****************************************************************************** 498 UINT WIN32API GetCaretBlinkTime(void) 499 { 500 #ifdef DEBUG 501 WriteLog("USER32: GetCaretBlinkTime\n"); 502 #endif 503 return O32_GetCaretBlinkTime(); 504 } 505 //****************************************************************************** 506 //****************************************************************************** 507 BOOL WIN32API GetCaretPos( LPPOINT lpPoint) 508 { 509 #ifdef DEBUG 510 WriteLog("USER32: GetCaretPos\n"); 511 #endif 512 return O32_GetCaretPos(lpPoint); 513 } 514 //****************************************************************************** 515 //****************************************************************************** 516 BOOL WIN32API HideCaret( HWND hWnd) 517 { 518 #ifdef DEBUG 519 WriteLog("USER32: HideCaret\n"); 520 #endif 521 hWnd = Win32Window::Win32ToOS2Handle(hWnd); 522 return O32_HideCaret(hWnd); 523 } 524 //****************************************************************************** 525 //****************************************************************************** 526 BOOL WIN32API SetCaretBlinkTime( UINT wMSeconds) 527 { 528 #ifdef DEBUG 529 WriteLog("USER32: SetCaretBlinkTime\n"); 530 #endif 531 return O32_SetCaretBlinkTime(wMSeconds); 532 } 533 //****************************************************************************** 534 //****************************************************************************** 535 BOOL WIN32API SetCaretPos( int nX, int nY) 536 { 537 dprintf(("USER32: SetCaretPos\n")); 538 return O32_SetCaretPos(nX,nY); 539 } 540 //****************************************************************************** 541 //****************************************************************************** 542 BOOL WIN32API ShowCaret( HWND hwnd) 543 { 544 dprintf(("USER32: ShowCaret\n")); 545 hwnd = Win32Window::Win32ToOS2Handle(hwnd); 546 return O32_ShowCaret(hwnd); 547 } 548 549 /* Cursor Functions */ 550 551 BOOL WIN32API ClipCursor(const RECT * lpRect) 552 { 553 #ifdef DEBUG 554 WriteLog("USER32: ClipCursor\n"); 555 #endif 556 return O32_ClipCursor(lpRect); 557 } 558 //****************************************************************************** 559 //****************************************************************************** 560 HCURSOR WIN32API CreateCursor( HINSTANCE hInst, int xHotSpot, int yHotSpot, int nWidth, int nHeight, const VOID *pvANDPlane, const VOID *pvXORPlane) 561 { 562 #ifdef DEBUG 563 WriteLog("USER32: CreateCursor\n"); 564 #endif 565 return O32_CreateCursor(hInst,xHotSpot,yHotSpot,nWidth,nHeight,pvANDPlane,pvXORPlane); 566 } 567 //****************************************************************************** 568 //****************************************************************************** 569 BOOL WIN32API DestroyCursor( HCURSOR hCursor) 570 { 571 #ifdef DEBUG 572 WriteLog("USER32: DestroyCursor\n"); 573 #endif 574 return O32_DestroyCursor(hCursor); 575 } 576 //****************************************************************************** 577 //****************************************************************************** 578 BOOL WIN32API GetClipCursor( LPRECT lpRect) 579 { 580 #ifdef DEBUG 581 WriteLog("USER32: GetClipCursor\n"); 582 #endif 583 return O32_GetClipCursor(lpRect); 584 } 585 //****************************************************************************** 586 //****************************************************************************** 587 HCURSOR WIN32API GetCursor(void) 588 { 589 #ifdef DEBUG 590 //// WriteLog("USER32: GetCursor\n"); 591 #endif 592 return O32_GetCursor(); 593 } 594 //****************************************************************************** 595 //****************************************************************************** 596 BOOL WIN32API GetCursorPos( PPOINT lpPoint) 597 { 598 BOOL rc; 599 POINT point; 600 #ifdef DEBUG 601 //// WriteLog("USER32: GetCursorPos\n"); 602 #endif 603 if (!lpPoint) return FALSE; 604 if (OSLibWinQueryPointerPos(OSLIB_HWND_DESKTOP,&point)) //POINT == POINTL 605 { 606 OS2ToWin32ScreenPos(lpPoint,&point); 607 return TRUE; 608 } else return FALSE; 609 } 610 /***************************************************************************** 611 * Name : HCURSOR WIN32API LoadCursorFromFileA 612 * Purpose : The LoadCursorFromFile function creates a cursor based on data 613 * contained in a file. The file is specified by its name or by a 614 * system cursor identifier. The function returns a handle to the 615 * newly created cursor. Files containing cursor data may be in 616 * either cursor (.CUR) or animated cursor (.ANI) format. 617 * Parameters: LPCTSTR lpFileName pointer to cursor file, or system cursor id 618 * Variables : 619 * Result : If the function is successful, the return value is a handle to 620 * the new cursor. 621 * If the function fails, the return value is NULL. To get extended 622 * error information, call GetLastError. GetLastError may return 623 * the following 624 * Remark : 625 * Status : UNTESTED STUB 626 * 627 * Author : Patrick Haller [Thu, 1998/02/26 11:55] 628 *****************************************************************************/ 629 HCURSOR WIN32API LoadCursorFromFileA(LPCTSTR lpFileName) 630 { 631 if (!HIWORD(lpFileName)) 632 { 633 return LoadCursorA(NULL,lpFileName); 634 } else 635 { 636 dprintf(("USER32:LoadCursorFromFileA (%s) not implemented.\n", 637 lpFileName)); 638 639 return (NULL); 640 } 641 } 642 /***************************************************************************** 643 * Name : HCURSOR WIN32API LoadCursorFromFileW 644 * Purpose : The LoadCursorFromFile function creates a cursor based on data 645 * contained in a file. The file is specified by its name or by a 646 * system cursor identifier. The function returns a handle to the 647 * newly created cursor. Files containing cursor data may be in 648 * either cursor (.CUR) or animated cursor (.ANI) format. 649 * Parameters: LPCTSTR lpFileName pointer to cursor file, or system cursor id 650 * Variables : 651 * Result : If the function is successful, the return value is a handle to 652 * the new cursor. 653 * If the function fails, the return value is NULL. To get extended 654 * error information, call GetLastError. GetLastError may return 655 * the following 656 * Remark : 657 * Status : UNTESTED STUB 658 * 659 * Author : Patrick Haller [Thu, 1998/02/26 11:55] 660 *****************************************************************************/ 661 HCURSOR WIN32API LoadCursorFromFileW(LPCWSTR lpFileName) 662 { 663 if (!HIWORD(lpFileName)) 664 { 665 return LoadCursorW(NULL,lpFileName); 666 } else 667 { 668 dprintf(("USER32:LoadCursorFromFileW (%s) not implemented.\n", 669 lpFileName)); 670 671 return (NULL); 672 } 673 } 674 //****************************************************************************** 675 //****************************************************************************** 676 HCURSOR WIN32API SetCursor( HCURSOR hcur) 677 { 678 #ifdef DEBUG 679 WriteLog("USER32: SetCursor\n"); 680 #endif 681 return O32_SetCursor(hcur); 682 } 683 //****************************************************************************** 684 //****************************************************************************** 685 BOOL WIN32API SetCursorPos( int X, int Y) 686 { 687 #ifdef DEBUG 688 WriteLog("USER32: SetCursorPos\n"); 689 #endif 690 return O32_SetCursorPos(X,Y); 691 } 692 /***************************************************************************** 693 * Name : BOOL WIN32API SetSystemCursor 694 * Purpose : The SetSystemCursor function replaces the contents of the system 695 * cursor specified by dwCursorId with the contents of the cursor 696 * specified by hCursor, and then destroys hCursor. This function 697 * lets an application customize the system cursors. 698 * Parameters: HCURSOR hCursor set specified system cursor to this cursor's 699 * contents, then destroy this 700 * DWORD dwCursorID system cursor specified by its identifier 701 * Variables : 702 * Result : If the function succeeds, the return value is TRUE. 703 * If the function fails, the return value is FALSE. To get extended 704 * error information, call GetLastError. 705 * Remark : 706 * Status : UNTESTED STUB 707 * 708 * Author : Patrick Haller [Thu, 1998/02/26 11:55] 709 *****************************************************************************/ 710 BOOL WIN32API SetSystemCursor(HCURSOR hCursor, 711 DWORD dwCursorId) 712 { 713 dprintf(("USER32:SetSystemCursor (%08xh,%08x) not supported.\n", 714 hCursor, 715 dwCursorId)); 716 717 return DestroyCursor(hCursor); 718 } 719 //****************************************************************************** 720 //****************************************************************************** 721 int WIN32API ShowCursor( BOOL bShow) 722 { 723 #ifdef DEBUG 724 WriteLog("USER32: ShowCursor\n"); 725 #endif 726 return O32_ShowCursor(bShow); 727 } 728 729 /* Other Functions */ 730 446 731 BOOL WIN32API MessageBeep( UINT uType) 447 732 { … … 630 915 //****************************************************************************** 631 916 //****************************************************************************** 632 int WIN32API ShowCursor( BOOL arg1)633 {634 #ifdef DEBUG635 WriteLog("USER32: ShowCursor\n");636 #endif637 //WinShowCursor(OSLIB_HWND_DESKTOP,arg1); //CB: not the same638 return O32_ShowCursor(arg1);639 }640 //******************************************************************************641 //******************************************************************************642 917 BOOL WIN32API WinHelpA( HWND hwnd, LPCSTR lpszHelp, UINT uCommand, DWORD dwData) 643 918 { … … 652 927 //****************************************************************************** 653 928 //SvL: 24-6-'97 - Added 654 // ******************************************************************************655 BOOL WIN32API ClipCursor(const RECT * lpRect) 656 { 657 #ifdef DEBUG 658 WriteLog("USER32: ClipCursor\n"); 659 #endif 660 //CB: how to replace? 661 return O32_ClipCursor(lpRect);929 //TODO: Not implemented 930 //****************************************************************************** 931 WORD WIN32API GetAsyncKeyState(INT nVirtKey) 932 { 933 #ifdef DEBUG 934 //// WriteLog("USER32: GetAsyncKeyState Not implemented\n"); 935 #endif 936 return 0; 662 937 } 663 938 //****************************************************************************** 664 939 //SvL: 24-6-'97 - Added 665 //TODO: Not implemented 666 //****************************************************************************** 667 WORD WIN32API GetAsyncKeyState(INT nVirtKey) 668 { 669 #ifdef DEBUG 670 //// WriteLog("USER32: GetAsyncKeyState Not implemented\n"); 671 #endif 672 return 0; 940 //****************************************************************************** 941 WORD WIN32API VkKeyScanA( char ch) 942 { 943 #ifdef DEBUG 944 WriteLog("USER32: VkKeyScanA\n"); 945 #endif 946 return O32_VkKeyScan(ch); 673 947 } 674 948 //****************************************************************************** 675 949 //SvL: 24-6-'97 - Added 676 950 //****************************************************************************** 677 HCURSOR WIN32API GetCursor(void)678 {679 #ifdef DEBUG680 //// WriteLog("USER32: GetCursor\n");681 #endif682 return O32_GetCursor();683 }684 //******************************************************************************685 //SvL: 24-6-'97 - Added686 //******************************************************************************687 BOOL WIN32API GetCursorPos( PPOINT lpPoint)688 {689 BOOL rc;690 POINT point;691 #ifdef DEBUG692 //// WriteLog("USER32: GetCursorPos\n");693 #endif694 if (!lpPoint) return FALSE;695 if (OSLibWinQueryPointerPos(OSLIB_HWND_DESKTOP,&point)) //POINT == POINTL696 {697 OS2ToWin32ScreenPos(lpPoint,&point);698 return TRUE;699 } else return FALSE;700 }701 //******************************************************************************702 //SvL: 24-6-'97 - Added703 //******************************************************************************704 WORD WIN32API VkKeyScanA( char ch)705 {706 #ifdef DEBUG707 WriteLog("USER32: VkKeyScanA\n");708 #endif709 return O32_VkKeyScan(ch);710 }711 //******************************************************************************712 //SvL: 24-6-'97 - Added713 //******************************************************************************714 951 SHORT WIN32API GetKeyState( int nVirtKey) 715 952 { … … 718 955 #endif 719 956 return O32_GetKeyState(nVirtKey); 720 }721 //******************************************************************************722 //******************************************************************************723 HCURSOR WIN32API SetCursor( HCURSOR hcur)724 {725 #ifdef DEBUG726 WriteLog("USER32: SetCursor\n");727 #endif728 return O32_SetCursor(hcur);729 }730 //******************************************************************************731 //******************************************************************************732 BOOL WIN32API SetCursorPos( int arg1, int arg2)733 {734 #ifdef DEBUG735 WriteLog("USER32: SetCursorPos\n");736 #endif737 //CB:{a} stopped here738 return O32_SetCursorPos(arg1, arg2);739 957 } 740 958 //****************************************************************************** … … 782 1000 //****************************************************************************** 783 1001 //****************************************************************************** 784 BOOL WIN32API CreateCaret( HWND arg1, HBITMAP arg2, int arg3, int arg4)785 {786 #ifdef DEBUG787 WriteLog("USER32: CreateCaret\n");788 #endif789 return O32_CreateCaret(arg1, arg2, arg3, arg4);790 }791 //******************************************************************************792 //******************************************************************************793 HCURSOR WIN32API CreateCursor( HINSTANCE arg1, int arg2, int arg3, int arg4, int arg5, const VOID * arg6, const VOID * arg7)794 {795 #ifdef DEBUG796 WriteLog("USER32: CreateCursor\n");797 #endif798 return O32_CreateCursor(arg1, arg2, arg3, arg4, arg5, arg6, arg7);799 }800 //******************************************************************************801 //******************************************************************************802 //******************************************************************************803 //******************************************************************************804 BOOL WIN32API DestroyCaret(void)805 {806 #ifdef DEBUG807 WriteLog("USER32: DestroyCaret\n");808 #endif809 return O32_DestroyCaret();810 }811 //******************************************************************************812 //******************************************************************************813 BOOL WIN32API DestroyCursor( HCURSOR arg1)814 {815 #ifdef DEBUG816 WriteLog("USER32: DestroyCursor\n");817 #endif818 return O32_DestroyCursor(arg1);819 }820 //******************************************************************************821 //******************************************************************************822 1002 BOOL WIN32API EndDeferWindowPos( HDWP arg1) 823 1003 { … … 890 1070 //****************************************************************************** 891 1071 //****************************************************************************** 892 UINT WIN32API GetCaretBlinkTime(void)893 {894 #ifdef DEBUG895 WriteLog("USER32: GetCaretBlinkTime\n");896 #endif897 return O32_GetCaretBlinkTime();898 }899 //******************************************************************************900 //******************************************************************************901 BOOL WIN32API GetCaretPos( PPOINT arg1)902 {903 #ifdef DEBUG904 WriteLog("USER32: GetCaretPos\n");905 #endif906 return O32_GetCaretPos(arg1);907 }908 //******************************************************************************909 //******************************************************************************910 BOOL WIN32API GetClipCursor( PRECT arg1)911 {912 #ifdef DEBUG913 WriteLog("USER32: GetClipCursor\n");914 #endif915 return O32_GetClipCursor(arg1);916 }917 //******************************************************************************918 //******************************************************************************919 1072 UINT WIN32API GetDoubleClickTime(void) 920 1073 { … … 1031 1184 //****************************************************************************** 1032 1185 //****************************************************************************** 1033 BOOL WIN32API HideCaret( HWND arg1)1034 {1035 #ifdef DEBUG1036 WriteLog("USER32: HideCaret\n");1037 #endif1038 return O32_HideCaret(arg1);1039 }1040 //******************************************************************************1041 //******************************************************************************1042 1186 #if 0 1043 1187 BOOL WIN32API InvalidateRgn( HWND arg1, HRGN arg2, BOOL arg3) … … 1115 1259 //****************************************************************************** 1116 1260 //****************************************************************************** 1117 BOOL WIN32API SetCaretBlinkTime( UINT arg1)1118 {1119 #ifdef DEBUG1120 WriteLog("USER32: SetCaretBlinkTime\n");1121 #endif1122 return O32_SetCaretBlinkTime(arg1);1123 }1124 //******************************************************************************1125 //******************************************************************************1126 BOOL WIN32API SetCaretPos( int arg1, int arg2)1127 {1128 dprintf(("USER32: SetCaretPos\n"));1129 return O32_SetCaretPos(arg1, arg2);1130 }1131 //******************************************************************************1132 //******************************************************************************1133 1261 BOOL WIN32API SetDoubleClickTime( UINT arg1) 1134 1262 { … … 1137 1265 #endif 1138 1266 return O32_SetDoubleClickTime(arg1); 1139 }1140 //******************************************************************************1141 //******************************************************************************1142 BOOL WIN32API ShowCaret( HWND arg1)1143 {1144 dprintf(("USER32: ShowCaret\n"));1145 return O32_ShowCaret(arg1);1146 1267 } 1147 1268 //****************************************************************************** … … 1405 1526 } 1406 1527 //****************************************************************************** 1407 //******************************************************************************1408 int WIN32API wvsprintfA( LPSTR arg1, LPCSTR arg2, va_list arg3)1409 {1410 #ifdef DEBUG1411 WriteLog("USER32: wvsprintfA\n");1412 #endif1413 return O32_wvsprintf(arg1, arg2, (LPCVOID *)arg3);1414 }1415 //******************************************************************************1416 //******************************************************************************1417 int WIN32API wvsprintfW(LPWSTR lpOut, LPCWSTR lpFmt, va_list argptr)1418 {1419 int rc;1420 char szOut[256];1421 char *lpFmtA;1422 1423 lpFmtA = UnicodeToAsciiString((LPWSTR)lpFmt);1424 #ifdef DEBUG1425 WriteLog("USER32: wvsprintfW, DOES NOT HANDLE UNICODE STRINGS!\n");1426 WriteLog("USER32: %s\n", lpFmt);1427 #endif1428 rc = O32_wvsprintf(szOut, lpFmtA, (LPCVOID)argptr);1429 1430 AsciiToUnicode(szOut, lpOut);1431 #ifdef DEBUG1432 WriteLog("USER32: %s\n", lpOut);1433 #endif1434 FreeAsciiString(lpFmtA);1435 return(rc);1436 }1437 //******************************************************************************1438 1528 //TODO: Not complete 1439 1529 //****************************************************************************** … … 2494 2584 2495 2585 /***************************************************************************** 2496 * Name : HCURSOR WIN32API LoadCursorFromFileA2497 * Purpose : The LoadCursorFromFile function creates a cursor based on data2498 * contained in a file. The file is specified by its name or by a2499 * system cursor identifier. The function returns a handle to the2500 * newly created cursor. Files containing cursor data may be in2501 * either cursor (.CUR) or animated cursor (.ANI) format.2502 * Parameters: LPCTSTR lpFileName pointer to cursor file, or system cursor id2503 * Variables :2504 * Result : If the function is successful, the return value is a handle to2505 * the new cursor.2506 * If the function fails, the return value is NULL. To get extended2507 * error information, call GetLastError. GetLastError may return2508 * the following2509 * Remark :2510 * Status : UNTESTED STUB2511 *2512 * Author : Patrick Haller [Thu, 1998/02/26 11:55]2513 *****************************************************************************/2514 2515 HCURSOR WIN32API LoadCursorFromFileA(LPCTSTR lpFileName)2516 {2517 dprintf(("USER32:LoadCursorFromFileA (%s) not implemented.\n",2518 lpFileName));2519 2520 return (NULL);2521 }2522 2523 2524 /*****************************************************************************2525 * Name : HCURSOR WIN32API LoadCursorFromFileW2526 * Purpose : The LoadCursorFromFile function creates a cursor based on data2527 * contained in a file. The file is specified by its name or by a2528 * system cursor identifier. The function returns a handle to the2529 * newly created cursor. Files containing cursor data may be in2530 * either cursor (.CUR) or animated cursor (.ANI) format.2531 * Parameters: LPCTSTR lpFileName pointer to cursor file, or system cursor id2532 * Variables :2533 * Result : If the function is successful, the return value is a handle to2534 * the new cursor.2535 * If the function fails, the return value is NULL. To get extended2536 * error information, call GetLastError. GetLastError may return2537 * the following2538 * Remark :2539 * Status : UNTESTED STUB2540 *2541 * Author : Patrick Haller [Thu, 1998/02/26 11:55]2542 *****************************************************************************/2543 2544 HCURSOR WIN32API LoadCursorFromFileW(LPCWSTR lpFileName)2545 {2546 dprintf(("USER32:LoadCursorFromFileW (%s) not implemented.\n",2547 lpFileName));2548 2549 return (NULL);2550 }2551 2552 2553 /*****************************************************************************2554 2586 * Name : HLK WIN32API LoadKeyboardLayoutA 2555 2587 * Purpose : The LoadKeyboardLayout function loads a new keyboard layout into … … 2930 2962 dprintf(("USER32:SetProcessWindowStation (%08x) not implemented.\n", 2931 2963 hWinSta)); 2932 2933 return (FALSE);2934 }2935 2936 2937 /*****************************************************************************2938 * Name : BOOL WIN32API SetSystemCursor2939 * Purpose : The SetSystemCursor function replaces the contents of the system2940 * cursor specified by dwCursorId with the contents of the cursor2941 * specified by hCursor, and then destroys hCursor. This function2942 * lets an application customize the system cursors.2943 * Parameters: HCURSOR hCursor set specified system cursor to this cursor's2944 * contents, then destroy this2945 * DWORD dwCursorID system cursor specified by its identifier2946 * Variables :2947 * Result : If the function succeeds, the return value is TRUE.2948 * If the function fails, the return value is FALSE. To get extended2949 * error information, call GetLastError.2950 * Remark :2951 * Status : UNTESTED STUB2952 *2953 * Author : Patrick Haller [Thu, 1998/02/26 11:55]2954 *****************************************************************************/2955 2956 BOOL WIN32API SetSystemCursor(HCURSOR hCursor,2957 DWORD dwCursorId)2958 {2959 dprintf(("USER32:SetSystemCursor (%08xh,%08x) not implemented.\n",2960 hCursor,2961 dwCursorId));2962 2964 2963 2965 return (FALSE);
Note:
See TracChangeset
for help on using the changeset viewer.