From ReactOS Wiki
Revision as of 05:14, 3 April 2012 by BrentNewland (talk | contribs)
Jump to: navigation, search

User32.dll is NOT synced with WINE, it is made by ReactOS (source)

  • 0.2.7 shows it is imported from wine


  • User32: Non-client painting, bitmap loading David Welch






  • Draw window icons into the title bar (Thomas Weidenmueller)
  • Don't mix device and logical coordinates in NtUserBeginPaint (Filip Navara)
  • Use BF_FLAT style for DrawEdge when drawing WS_EX_STATICEDGE border (Filip Navara)
  • Fixed close button (Thomas Weidenmueller)
  • Determine number of accelerator table entries in resource from size of the resource (Gé van Geldorp)
  • Fix wrong GetBitmapDimensionEx() usage in static control (Gé van Geldorp)
  • Added support for right-aligned menus (Gé van Geldorp)
  • Correct bufsize calculation in MessageBoxTimeoutIndirectW. Fixes bug #35 (Gé van Geldorp)
  • Fixed behaviour of sizing grip (Thomas Weidenmueller)
  • Implement system menus (Gé van Geldorp)
  • Fixed icon lookup so that in high color video modes colorful icons are used (Filip Navara)
  • As CURSORICON_FindBestIcon now takes color bits count and not color count, fixed the color calculation in LookupIconIdFromDirectoryEx (Filip Navara)




  • EnumDisplaySettingsExA fixed (did not output anything into devmode) (Gregor Anich)
  • Implement EnumDesktopsA/W and EnumWindowStationsA, rewrite of EnumWindowStationsW (Gé van Geldorp)
  • Fixed displaying the context menu for edit controls. (Thomas Weidenmueller)
  • Added support to change desktop wallpapers. (Thomas Weidenmueller)
  • Sync'ed the WINE (20040724) standard user controls and a few later syncs (Thomas Weidenmueller)
  • Fixed handling of NULL arguments in ChangeDisplaySettings(Ex)(). (Grigor Anich)


  • Fixed MessageBoxIndirectA() not to use random pointers if MB_USERICON wasn't specified (Thomas Weidenmueller)


32 Users at the same time


  • Implemented DragDetect based on Wine code &copyright; 1993, 1994 Alexandre Julliard (Filip Navara)

(James Tabor) implemented:

    • TrackMouseEvent
    • NtUserGetAsyncKeyState and support for TrackMouseEvent
    • DrawMenuBar
    • CheckMenuRadioItem (not fully tested)
    • GetMenuString A and W (not fully tested)
    • ModifyMenu A and W
    • MDICascade, MDITile and WIN_ListChildren


  • fix repositioning of text (brbak)
  • Implemented SetTaskmanWindow and SetProgmanWindow
  • Implement ValidateRect. (Filip Navara)
  • GetMenuStringA and GetMenuStringW inverted the MF_BYPOSITION parameter. Buffers were incorrectly copied in and wrong size returned in GetMenuItemInfoA ansi-structures. (Jens Colins)
  • Implemented VkKeyScan, GetKeyboardTypeand, GetKeyboardLayout, ShowOwnedPopups, ArrangeIconicWindows, SetMenuItemBitmaps (Jim Tabor)


  • Fix some window focus issues (Timo Kreuzer)
  • Patch from Thomas Weidenmueller for Bug #1486: Convert WM_MDICREATE messages from/to unicode
  • Fix two user mode crash for menu. Do not try reading from NULL pointer and compare the value. This increases success in user32_winetest.exe, but other user mode crashes with menu remain. (Magnus Olsen)
  • Fix the radio buttons to use the new Marlett font. (Ged Murphy)
  • Added support for selection of 32bpp icons and cursors (Ged Murphy)
  • Implement GetTabbedTextExtentA() based on Wine (Aleksey Bragin)
  • Update TEXT_TabbedTextOut from Wine (Aleksey Bragin)
  • Update other text outputting routines (Aleksey Bragin)
  • Update buttons code and more work towards easier code sharing with Wine (Aleksey Bragin)
  • Improve debugging abilities by making user32.dll using a generic way of displaying debug messages (TRACE/WARN/ERR) and adding a messages spy (Aleksey Bragin)