Difference between revisions of "Comctl32.dll"

From ReactOS Wiki
Jump to: navigation, search
m
(Merge in relevent info from Wikipedia while avoiding redundancy.)
 
(3 intermediate revisions by 3 users not shown)
Line 1: Line 1:
http://en.wikipedia.org/wiki/Microsoft_Windows_library_files#Comctl32.dll
+
{{stub}}
 +
The Common Control Library resides in a file called comctl16.dll on 16-bit Windows, and comctl32.dll on 32-bit Windows. It implements a wide variety of standard Windows user controls, such as File Open, Save, and Save As dialogs, progress bars, image lists and list views. It calls functions from both USER32.DLL and GDI32.DLL to create and manage the windows for these UI elements, place various graphic elements within them, and collect user input.
  
http://en.wikipedia.org/wiki/Windows_API#Overview
+
== Code History ==
 +
{{Code history|dll/win32/comctl32}}
  
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/comctl32/?view=log
+
== External links ==
 +
* [[wikipedia:Microsoft Windows library files#COMCTL32.DLL]]
 +
* [[wikipedia:Windows API#Overview]]
  
[[ChangeLog-0.1.5]]
+
[[Category:Development]]
* Comctl32 port from wine ([[Filip Navara]])
+
[[Category:DLL]]
[[ChangeLog-0.2.1]]
 
* Sync'd Comctl32, Ole32 and Shlwapi with WINE 20040213 ([[Gé van Geldorp]])
 
 
 
[[ChangeLog-0.2.2]]
 
*Create image list for toolbar with same depth as display ([[Ge van Geldorp]])
 
*New cursor ([[Ge van Geldorp]])
 
 
 
[[ChangeLog-0.2.3]]
 
 
 
*Fix TB_GETSTYLE to return the style of the toolbar when wParam is 0, fixes bug #290 ([[Maxime Bellengé]], [[gvg]])
 
*Return TRUE for TVM_EXPAND if treeview item is already expanded ([[Martin Fuchs]])
 
*Sync to Wine-20040408: ([[Ge van Geldorp]])
 
**Add cursor resource ([[Robert Shearman]])
 
*Implement TB_MOVEBUTTON ([[Robert Shearman]])
 
*Implement drag customise ([[Robert Shearman]])
 
*Send TBN_TOOLBARCHANGE and TBN_DELETINGBUTTON ([[Robert Shearman]])
 
*Fix subclassing to support nested messages ([[Robert Shearman]])
 
*Document control completeness ([[Robert Shearman]])
 
*Small optimisation in DrawInsert ([[Robert Shearman]])
 
*Fix LButtonDown from previous change ([[Robert Shearman]])
 
*Don't use BF_ADJUST flag for dropdown buttons ([[Robert Shearman]])
 
*Fix LButtonDblClk ([[Robert Shearman]])
 
*Fix SetBitmapSize ([[Robert Shearman]])
 
*Fix SetButtonInfo ([[Robert Shearman]])
 
*Better hot item handling ([[Robert Shearman]])
 
*Fix DrawMasked to always use the right image list and bitmap index ([[Robert Shearman]])
 
*Finish tooltip support ([[Robert Shearman]])
 
*Honour WM_SETREDRAW ([[Robert Shearman]])
 
*Fix all calls of InvalidateRect ([[Robert Shearman]])
 
*Implement TB_LOADIMAGES, TB_MAPACCELERATOR{A,W}, TB_MARKBUTTON and undocumented message 0x460 ([[Robert Shearman]])
 
*Better debug output of undocumented message 0x45D ([[Robert Shearman]])
 
*Add support for a toolbar global iListGap ([[Robert Shearman]])
 
*Make TOOLBAR_CalcToolbar and TOOLBAR_DrawButton not rely on "magic numbers" and calculate sizes and positions more like native ([[Robert Shearman]])
 
*Rewrite drawing code ([[Robert Shearman]])
 
*TTM_TRACKACTIVATE can have NULL lParam when deactivating ([[Robert Shearman]])
 
*Factor out common code from TOOLTIPS_DelTool{A,W} ([[Robert Shearman]])
 
*Update all indices correctly after delete ([[Robert Shearman]])
 
*Unicode notification detection should be local to each tool ([[Robert Shearman]])
 
*Implement TTN_GETDISPINFOW notification ([[Robert Shearman]])
 
*Do not kill the animation thread with TerminateThread, let it finish properly ([[Alexandre Julliard]])
 
*Fixed a couple of races with the animation thread ([[Alexandre Julliard]])
 
*Prevent negative coords for line, turn off redraw when initializing, document one difference in native/builtin behavior ([[Juan Lang]])
 
*Make sure the rebar size is above a minimum ([[Mike McCormack]])
 
*Make sure to take account of hidden bands during layout ([[Mike McCormack]])
 
*Don't calculate the redundant and unused REBAR_ROW structures ([[Mike McCormack]])
 
*Support for RBBS_HIDETITLE style ([[Filip Navara]])
 
*Fix rebar band insertion and non-client calculation in pager control ([[Ulrich Czekalla]])
 
*When setting the buddy to 0 then we must still resize the updown control ([[Huw Davies]])
 
*Added CS_HREDRAW ([[Huw Davies]])
 
*Explicitly ask for image list with screen depth as ILC_COLOR can/will limit the depth to 4bpp now ([[Ge van Geldorp]])
 
*Force resize before calling RBN_HEIGHTCHANGE notification ([[Filip Navara]])
 
*Fix subclassing to support nested messages ([[Robert Shearman]])
 
*Sync to Wine-20040505: ([[Ge van Geldorp]])
 
**Added Ukrainian translations ([[Ilya Korniyko]])
 
*Make monthcal a child of datetime (it was a sibling before, causing completely incorrect message flow) ([[Krzysztof Foltman]])
 
*Update monthcal after date change in datetime ([[Krzysztof Foltman]])
 
*Choose different coordinates when DTS_SHOWNONE is not used ([[Krzysztof Foltman]])
 
*Embedded monthcal is now 200 pixels wide ([[Krzysztof Foltman]])
 
*Selecting a day in embedded monthcal updates the datetime and hides the monthcal ([[Krzysztof Foltman]])
 
*Changing months/years by clicking month name/year in title bar works ([[Krzysztof Foltman]])
 
*Embedded month calendar is correctly destroyed (it used to stick on the screen long after the datetime's container was closed) ([[Krzysztof Foltman]])
 
*Next/prev month don't stick anymore ([[Krzysztof Foltman]])
 
*Min/max ranges initialized to some reasonable values ([[Krzysztof Foltman]])
 
*Fixed some bugs caused by reversed order of arguments of MONTHCAL_CopyTime ([[Krzysztof Foltman]])
 
*Update current month/year after setting current date ([[Krzysztof Foltman]])
 
*Changing months etc doesn't send MCN_SELECT (which could be sent only after a particular day was clicked) ([[Krzysztof Foltman]])
 
*Changed (hit && MCHT_CALENDARDATE) to (hit == MCHT_CALENDARDATE) ([[Krzysztof Foltman]])
 
*Deleting column zero should only delete the column and not the item data ([[Huw Davies]])
 
*Implemented TVS_NOSCROLL ([[Huw Davies]])
 
*Add NM_RCLICK notification support for toolbars ([[Maxime Bellenge]])
 
*Fix the size of the listview items in the customize dialog ([[Maxime Bellenge]])
 
*Fix TB_GETSTYLE message to return the style of the toolbar and not the style of a button ([[Maxime Bellenge]])
 
*Optimise accessing toolbar style by storing it in the TOOLBAR_INFO structure ([[Robert Shearman]])
 
*Replace {Get,Set}WindowLong by {Get,Set}WindowLongPtr where appropriate ([[Robert Shearman]])
 
*Sync to Wine-20040615: ([[Ge van Geldorp]])
 
**Add DT_END_ELLIPSIS as defaut style for text ([[Maxime Bellenge]])
 
*Encoding fixes in Ukrainian translation ([[Ilya Korniyko]])
 
*Let the subclassing stack grow the opposite way to make the code more transparent ([[Filip Navara]])
 
*Remove SubclassWndProc and move its logic to DefSubclassProc ([[Filip Navara]])
 
*Clear the state image bits only if LVS_EX_CHECKBOXES is set ([[Dimitrie O. Paun]])
 
*Fix obvious logical error in focus handling ([[Dimitrie O. Paun]])
 
*Handle case where iterator range contains 0 elements ([[Ulrich Czekalla]])
 
*Handle case when item text is empty ([[Ulrich Czekalla]])
 
*Implemented TCM_SETITEMEXTRA ([[Jon Griffiths]])
 
*Don't draw whole button pressed when separate dropdown pressed, just the separate dropdown itself ([[Robert Shearman]])
 
*TBN_DRAGOUT and NM_RDBLCLK notifications ([[Robert Shearman]])
 
*Remove unneeded member of private toolbar struct ([[Robert Shearman]])
 
*Fix common controls subclassing ([[Filip Navara]])
 
*Always reset AUTO_RESIZE flag on exit from REBAR_ForceResize ([[Ge van Geldorp]])
 
 
 
[[ChangeLog-0.2.4]]
 
 
 
* Fix CreateMappedBitmap for palette-less bitmaps. ([[Filip Navara]])
 
* Create toolbar with a not zero default size, it allows applications which check toolbar size before adding buttons to it work. ([[Filip Navara]], [[Dmitry Timoshkov]])
 
* Added support for PBS_MARQUEE style. ([[Thomas Weidenmueller]])
 
* Use system metrics values in TOOLBAR_DrawPattern instead of hardcoded values. ([[Filip Navara]])
 
* Wizard contents shouldn't be moved by the size of watermark bitmap. ([[Filip Navara]])
 
* Fix PSH_WIZARD97_[NEW/OLD] checks. ([[Filip Navara]])
 
* Blit the watermark even if PSH_USEHBMWATERMARK flag isn't set and blit only the part that fits into the dialog. ([[Filip Navara]])
 
* Implemented PSM_INDEXTOHWND. ([[Marcus Meissner]])
 
* Implemented syslink control. ([[Thomas Weidenmüller]])
 
* Properly calculate caption length when converting multi-byte string to wide character one. ([[Filip Navara]])
 
* Create a tooltip on demand in the Listview. ([[Mike McCormack]])
 
* Implemented PSM_HWNDTOINDEX. ([[Robert Shearman]])
 
* Add stubs for some new property sheet messages. ([[Robert Shearman]])
 
* Clean up the mask drawing code. ([[Robert Shearman]])
 
* Improve bitmap not found message. ([[Robert Shearman]])
 
* Start of balloon tip support. ([[Robert Shearman]])
 
* Don't crash on NULL tab text. ([[Jon Griffiths]])
 
* Make the pattern drawing in TOOLBAR_DrawPattern look better. ([[Filip Navara]])
 
* Make pattern brush data const. ([[Jon Griffiths]])
 
* Prevent listview from crashing when a null sort function is passed to LVM_SORTITEMS. ([[Mike McCormack]])
 
* Don't update infoPtr->dwStyle in LISTVIEW_WindowProc. It's already handled in LISTVIEW_StyleChanged and LISTVIEW_Create processing. ([[Filip Navara]])
 
* Ignore WS_VSCROLL/WS_HSCROLL flags in infoPtr->dwStyle because they're not always up-to-date. ([[Filip Navara]])
 
* Use correct dialog title for Wizard 97 and correctly display header bitmap for old-style Wizard 97. ([[Filip Navara]])
 
* Fix TOOLBAR_DrawMasked to correctly use image list mask. ([[Filip Navara]])
 
* Move watermark and header bitmap loading code from PROPSHEET_CreatePage into its own function PROPSHEET_LoadWizardBitmaps and call this function from property sheet's dialog procedure. ([[Eric Kohl]])
 
* Correct tooltips behavior. ([[Thomas Weidenmueller]])
 
 
 
[[ChangeLog-0.3.1]]
 
 
 
* Implemented TOOLTIPS_NotifyFormat, now returns the type of the string ([[Timo Kreuzer]])
 
* Fix LISTVIEW_Callback() crash problem, which was caused by a bug in GCC. Now avoided in all modules by using -fno-sibling-call-optimisation ([[Aleksey Bragin]])
 
 
 
 
 
 
 
[[Category:BNWIP]]
 

Latest revision as of 16:26, 15 March 2019

The page Comctl32.dll is a short article on something that should have a lot more information written on it.
If you know anything else about it, you are STRONGLY encouraged to add the information in. If you are unsure of proper formatting or style, add it to the talk page or this page itself as you think best and others will help.


The Common Control Library resides in a file called comctl16.dll on 16-bit Windows, and comctl32.dll on 32-bit Windows. It implements a wide variety of standard Windows user controls, such as File Open, Save, and Save As dialogs, progress bars, image lists and list views. It calls functions from both USER32.DLL and GDI32.DLL to create and manage the windows for these UI elements, place various graphic elements within them, and collect user input.

Code History

Commit history (Source code can be found in: /reactos/dll/win32/comctl32)

External links