diff --git a/PInvoke/ComCtl32/CommCtrl.ListView.cs b/PInvoke/ComCtl32/CommCtrl.ListView.cs index 63410df0..0e2365e6 100644 --- a/PInvoke/ComCtl32/CommCtrl.ListView.cs +++ b/PInvoke/ComCtl32/CommCtrl.ListView.cs @@ -1,7 +1,5 @@ using System; -//using System.Linq; using System.Runtime.InteropServices; -using System.Security.Permissions; using Vanara.Extensions; using Vanara.InteropServices; using static Vanara.PInvoke.User32; @@ -593,7 +591,6 @@ namespace Vanara.PInvoke /// Sets the UNICODE character format flag for the control. This message allows you to change the character set used by the /// control at run time rather than having to re-create the control. You can send this message explicitly or use the /// ListView_SetUnicodeFormat macro. - /// /// Parameters /// wParam /// @@ -604,6 +601,7 @@ namespace Vanara.PInvoke /// Must be zero. /// Returns /// Returns the previous Unicode format flag for the control. + /// /// See the remarks for CCM_SETUNICODEFORMAT for a discussion of this message. // https://docs.microsoft.com/en-us/windows/win32/controls/lvm-setunicodeformat LVM_SETUNICODEFORMAT = 0X2005, // CCM_SETUNICODEFORMAT, @@ -611,7 +609,6 @@ namespace Vanara.PInvoke /// /// Retrieves the UNICODE character format flag for the control. You can send this message explicitly or use the /// ListView_GetUnicodeFormat macro. - /// /// Parameters /// wParam /// Must be zero. @@ -622,6 +619,7 @@ namespace Vanara.PInvoke /// Returns the Unicode format flag for the control. If this value is nonzero, the control is using Unicode characters. If this /// value is zero, the control is using ANSI characters. /// + /// /// See the remarks for CCM_GETUNICODEFORMAT for a discussion of this message. // https://docs.microsoft.com/en-us/windows/win32/controls/lvm-getunicodeformat LVM_GETUNICODEFORMAT = 0X2006, // CCM_GETUNICODEFORMAT, @@ -629,7 +627,6 @@ namespace Vanara.PInvoke /// /// Gets the background color of a list-view control. You can send this message explicitly or by using the /// ListView_GetBkColor macro. - /// /// Parameters /// wParam /// Must be zero. @@ -637,13 +634,13 @@ namespace Vanara.PInvoke /// Must be zero. /// Returns /// Returns the background color of the list-view control. + /// // https://docs.microsoft.com/en-us/windows/win32/controls/lvm-getbkcolor LVM_GETBKCOLOR = LVM_FIRST + 0, /// /// Sets the background color of a list-view control. You can send this message explicitly or by using the /// ListView_SetBkColor macro. - /// /// Parameters /// wParam /// Must be zero. @@ -654,13 +651,13 @@ namespace Vanara.PInvoke /// /// Returns /// Returns TRUE if successful, or FALSE otherwise. + /// // https://docs.microsoft.com/en-us/windows/win32/controls/lvm-setbkcolor LVM_SETBKCOLOR = LVM_FIRST + 1, /// /// Retrieves the handle to an image list used for drawing list-view items. You can send this message explicitly or by using the /// ListView_GetImageList macro. - /// /// Parameters /// wParam /// Image list to retrieve. This parameter can be one of the following values: @@ -690,13 +687,13 @@ namespace Vanara.PInvoke /// Must be zero. /// Returns /// Returns the handle to the specified image list if successful, or NULL otherwise. + /// // https://docs.microsoft.com/en-us/windows/win32/controls/lvm-getimagelist LVM_GETIMAGELIST = LVM_FIRST + 2, /// /// Assigns an image list to a list-view control. You can send this message explicitly or by using the /// ListView_SetImageList macro. - /// /// Parameters /// wParam /// Type of image list. This parameter can be one of the following values: @@ -726,6 +723,7 @@ namespace Vanara.PInvoke /// Handle to the image list to assign. /// Returns /// Returns the handle to the image list previously associated with the control if successful, or NULL otherwise. + /// /// /// The current image list will be destroyed when the list-view control is destroyed unless the LVS_SHAREIMAGELISTS style /// is set. If you use this message to replace one image list with another, your application must explicitly destroy all image @@ -737,7 +735,6 @@ namespace Vanara.PInvoke /// /// Retrieves the number of items in a list-view control. You can send this message explicitly or by using the /// ListView_GetItemCount macro. - /// /// Parameters /// wParam /// Must be zero. @@ -745,13 +742,13 @@ namespace Vanara.PInvoke /// Must be zero. /// Returns /// Returns the number of items. + /// // https://docs.microsoft.com/en-us/windows/win32/controls/lvm-getitemcount LVM_GETITEMCOUNT = LVM_FIRST + 4, /// /// Retrieves some or all of a list-view item's attributes. You can send this message explicitly or by using the /// ListView_GetItem macro. - /// /// Parameters /// wParam /// Must be zero. @@ -761,6 +758,7 @@ namespace Vanara.PInvoke /// /// Returns /// Returns TRUE if successful, or FALSE otherwise. + /// /// /// /// When the LVM_GETITEM message is sent, the iItem and iSubItem members identify the item or subitem to @@ -784,7 +782,6 @@ namespace Vanara.PInvoke /// /// Sets some or all of a list-view item's attributes. You can also send LVM_SETITEM to set the text of a subitem. You can send /// this message explicitly or by using the ListView_SetItem macro. - /// /// Parameters /// wParam /// Must be zero. @@ -798,6 +795,7 @@ namespace Vanara.PInvoke /// /// Returns /// Returns TRUE if successful, or FALSE otherwise. + /// /// /// /// To set the attributes of a list-view item, set the iItem member of the LVITEM structure to the index of the @@ -817,7 +815,6 @@ namespace Vanara.PInvoke /// /// Inserts a new item in a list-view control. You can send this message explicitly or by using the ListView_InsertItem macro. - /// /// Parameters /// wParam /// Must be zero. @@ -830,6 +827,7 @@ namespace Vanara.PInvoke /// /// Returns /// Returns the index of the new item if successful, or -1 otherwise. + /// /// /// /// You cannot use ListView_InsertItem or LVM_INSERTITEM to insert subitems. The iSubItem member of the @@ -870,7 +868,6 @@ namespace Vanara.PInvoke /// /// Removes an item from a list-view control. You can send this message explicitly or by using the ListView_DeleteItem macro. - /// /// Parameters /// wParam /// The index of the list-view item to delete. @@ -878,13 +875,13 @@ namespace Vanara.PInvoke /// Must be zero. /// Returns /// Returns TRUE if successful, or FALSE otherwise. + /// // https://docs.microsoft.com/en-us/windows/win32/controls/lvm-deleteitem LVM_DELETEITEM = LVM_FIRST + 8, /// /// Removes all items from a list-view control. You can send this message explicitly or by using the /// ListView_DeleteAllItems macro. - /// /// Parameters /// wParam /// Must be zero. @@ -892,6 +889,7 @@ namespace Vanara.PInvoke /// Must be zero. /// Returns /// Returns TRUE if successful, or FALSE otherwise. + /// /// /// When a list-view control receives the LVM_DELETEALLITEMS message, it sends the LVN_DELETEALLITEMS notification /// code to its parent window. @@ -902,7 +900,6 @@ namespace Vanara.PInvoke /// /// Gets the callback mask for a list-view control. You can send this message explicitly or by using the /// ListView_GetCallbackMask macro. - /// /// Parameters /// wParam /// Must be zero. @@ -910,13 +907,13 @@ namespace Vanara.PInvoke /// Must be zero. /// Returns /// Returns the callback mask. + /// // https://docs.microsoft.com/en-us/windows/win32/controls/lvm-getcallbackmask LVM_GETCALLBACKMASK = LVM_FIRST + 10, /// /// Changes the callback mask for a list-view control. You can send this message explicitly or by using the /// ListView_SetCallbackMask macro. - /// /// Parameters /// wParam /// @@ -957,6 +954,7 @@ namespace Vanara.PInvoke /// Must be zero. /// Returns /// Returns TRUE if successful, or FALSE otherwise. + /// /// /// /// The callback mask of a list-view control is a set of bit flags that specify the item states for which the application, rather @@ -975,7 +973,6 @@ namespace Vanara.PInvoke /// /// Searches for a list-view item that has the specified properties and bears the specified relationship to a specified item. You /// can send this message explicitly or by using the ListView_GetNextItem macro. - /// /// Parameters /// wParam /// @@ -1081,6 +1078,7 @@ namespace Vanara.PInvoke /// /// Returns /// Returns the index of the next item if successful, or -1 otherwise. + /// /// /// Note that the following flags, for use only with Windows Vista, are mutually exclusive of any other flags in use: /// LVNI_VISIBLEONLY, LVNI_SAMEGROUPONLY, LVNI_VISIBLEORDER, LVNI_DIRECTIONMASK, and LVNI_STATEMASK. @@ -1091,7 +1089,6 @@ namespace Vanara.PInvoke /// /// Searches for a list-view item with the specified characteristics. You can send this message explicitly or by using the /// ListView_FindItem macro. - /// /// Parameters /// wParam /// @@ -1102,13 +1099,13 @@ namespace Vanara.PInvoke /// A pointer to an LVFINDINFO structure that contains information about what to search for. /// Returns /// Returns the index of the item if successful, or -1 otherwise. + /// // https://docs.microsoft.com/en-us/windows/win32/controls/lvm-finditem LVM_FINDITEM = LVM_FIRST + 83, /// /// Retrieves the bounding rectangle for all or part of an item in the current view. You can send this message explicitly or by /// using the ListView_GetItemRect macro. - /// /// Parameters /// wParam /// Index of the list-view item. @@ -1142,13 +1139,13 @@ namespace Vanara.PInvoke /// /// Returns /// Returns TRUE if successful, or FALSE otherwise. + /// // https://docs.microsoft.com/en-us/windows/win32/controls/lvm-getitemrect LVM_GETITEMRECT = LVM_FIRST + 14, /// /// Moves an item to a specified position in a list-view control (must be in icon or small icon view). You can send this message /// explicitly or by using the ListView_SetItemPosition macro. - /// /// Parameters /// wParam /// Index of the list-view item. @@ -1159,6 +1156,7 @@ namespace Vanara.PInvoke /// /// Returns /// Returns TRUE if successful, or FALSE otherwise. + /// /// /// /// If the list-view control has the LVS_AUTOARRANGE style, the items in the list-view control are arranged after the @@ -1175,7 +1173,6 @@ namespace Vanara.PInvoke /// /// Retrieves the position of a list-view item. You can send this message explicitly or by using the /// ListView_GetItemPosition macro. - /// /// Parameters /// wParam /// Index of the list-view item. @@ -1183,13 +1180,13 @@ namespace Vanara.PInvoke /// Pointer to a POINT structure that receives the position of the item's upper-left corner, in view coordinates. /// Returns /// Returns TRUE if successful, or FALSE otherwise. + /// // https://docs.microsoft.com/en-us/windows/win32/controls/lvm-getitemposition LVM_GETITEMPOSITION = LVM_FIRST + 16, /// /// Determines the width of a specified string using the specified list-view control's current font. You can send this message /// explicitly or by using the ListView_GetStringWidth macro. - /// /// Parameters /// wParam /// Must be zero. @@ -1197,6 +1194,7 @@ namespace Vanara.PInvoke /// Pointer to a null-terminated string. /// Returns /// Returns the string width if successful, or zero otherwise. + /// /// /// The LVM_GETSTRINGWIDTH message returns the exact width, in pixels, of the specified string. If you use the returned string /// width as the column width in the LVM_SETCOLUMNWIDTH message, the string will be truncated. To retrieve the column @@ -1208,7 +1206,6 @@ namespace Vanara.PInvoke /// /// Determines which list-view item, if any, is at a specified position. You can send this message explicitly or by using the /// ListView_HitTest macro. - /// /// Parameters /// wParam /// @@ -1221,13 +1218,13 @@ namespace Vanara.PInvoke /// /// Returns /// Returns the index of the item at the specified position, if any, or -1 otherwise. + /// // https://docs.microsoft.com/en-us/windows/win32/controls/lvm-hittest LVM_HITTEST = LVM_FIRST + 18, /// /// Ensures that a list-view item is either entirely or partially visible, scrolling the list-view control if necessary. You can /// send this message explicitly or by using the ListView_EnsureVisible macro. - /// /// Parameters /// wParam /// The index of the list-view item. @@ -1238,13 +1235,13 @@ namespace Vanara.PInvoke /// /// Returns /// Returns TRUE if successful, or FALSE otherwise. + /// /// The message fails if the window style includes LVS_NOSCROLL. // https://docs.microsoft.com/en-us/windows/win32/controls/lvm-ensurevisible LVM_ENSUREVISIBLE = LVM_FIRST + 19, /// /// Scrolls the content of a list-view control. You can send this message explicitly or by using the ListView_Scroll macro. - /// /// Parameters /// wParam /// @@ -1259,6 +1256,7 @@ namespace Vanara.PInvoke /// /// Returns /// Returns TRUE if successful; otherwise, FALSE. + /// /// /// When the list-view control is in report view, the control can only be scrolled vertically in whole line increments. /// Therefore, the lParam parameter will be rounded to the nearest number of pixels that form a whole line increment. For @@ -1271,7 +1269,6 @@ namespace Vanara.PInvoke /// /// Forces a list-view control to redraw a range of items. You can send this message explicitly or by using the /// ListView_RedrawItems macro. - /// /// Parameters /// wParam /// Index of the first item to redraw. @@ -1279,6 +1276,7 @@ namespace Vanara.PInvoke /// Index of the last item to redraw. /// Returns /// Returns TRUE if successful, or FALSE otherwise. + /// /// /// The specified items are not actually redrawn until the list-view window receives a WM_PAINT message to repaint. To /// repaint immediately, call the UpdateWindow function after using this macro. @@ -1286,7 +1284,8 @@ namespace Vanara.PInvoke // https://docs.microsoft.com/en-us/windows/win32/controls/lvm-redrawitems LVM_REDRAWITEMS = LVM_FIRST + 21, - /// Arranges items in icon view. You can send this message explicitly or by using the ListView_Arrange macro. + /// + /// Arranges items in icon view. You can send this message explicitly or by using the ListView_Arrange macro. /// Parameters /// wParam /// One of the following values that specifies alignment: @@ -1316,13 +1315,13 @@ namespace Vanara.PInvoke /// Must be zero. /// Returns /// Returns TRUE if successful; otherwise, FALSE. + /// // https://docs.microsoft.com/en-us/windows/win32/controls/lvm-arrange LVM_ARRANGE = LVM_FIRST + 22, /// /// Begins in-place editing of the specified list-view item's text. The message implicitly selects and focuses the specified /// item. You can send this message explicitly or by using the ListView_EditLabel macro. - /// /// Parameters /// wParam /// The index of the list-view item. To cancel editing, set the index to -1. @@ -1330,6 +1329,7 @@ namespace Vanara.PInvoke /// Must be zero. /// Returns /// Returns the handle to the edit control that is used to edit the item text if successful, or NULL otherwise. + /// /// /// /// When the user completes or cancels editing, the edit control is destroyed and the handle is no longer valid. You can subclass @@ -1346,7 +1346,6 @@ namespace Vanara.PInvoke /// /// Gets the handle to the edit control being used to edit a list-view item's text. You can send this message explicitly or by /// using the ListView_GetEditControl macro. - /// /// Parameters /// wParam /// Must be zero. @@ -1354,6 +1353,7 @@ namespace Vanara.PInvoke /// Must be zero. /// Returns /// Returns the handle to the edit control if successful, or NULL otherwise. + /// /// /// /// When label editing begins, an edit control is created, positioned, and initialized. Before it is displayed, the list-view @@ -1379,7 +1379,6 @@ namespace Vanara.PInvoke /// /// Gets the attributes of a list-view control's column. You can send this message explicitly or by using the /// ListView_GetColumn macro. - /// /// Parameters /// wParam /// The index of the column. @@ -1392,12 +1391,12 @@ namespace Vanara.PInvoke /// /// Returns /// Returns TRUE if successful, or FALSE otherwise. + /// // https://docs.microsoft.com/en-us/windows/win32/controls/lvm-getcolumn LVM_GETCOLUMN = LVM_FIRST + 95, /// /// Sets the attributes of a list-view column. You can send this message explicitly or by using the ListView_SetColumn macro. - /// /// Parameters /// wParam /// Index of the column. @@ -1409,13 +1408,13 @@ namespace Vanara.PInvoke /// /// Returns /// Returns TRUE if successful, or FALSE otherwise. + /// // https://docs.microsoft.com/en-us/windows/win32/controls/lvm-setcolumn LVM_SETCOLUMN = LVM_FIRST + 96, /// /// Inserts a new column in a list-view control. You can send this message explicitly or by using the /// ListView_InsertColumn macro. - /// /// Parameters /// wParam /// Index of the new column. @@ -1423,13 +1422,13 @@ namespace Vanara.PInvoke /// Pointer to an LVCOLUMN structure that contains the attributes of the new column. /// Returns /// Returns the index of the new column if successful, or -1 otherwise. + /// /// Columns are visible only in report (details) view. // https://docs.microsoft.com/en-us/windows/win32/controls/lvm-insertcolumn LVM_INSERTCOLUMN = LVM_FIRST + 97, /// /// Removes a column from a list-view control. You can send this message explicitly or by using the ListView_DeleteColumn macro. - /// /// Parameters /// wParam /// The index of the column to delete. @@ -1437,6 +1436,7 @@ namespace Vanara.PInvoke /// Must be zero. /// Returns /// Returns TRUE if successful, or FALSE otherwise. + /// /// /// Deleting column zero of a list-view control is supported only in ComCtl32.dll version 6 and later. Version 5 also supports /// deleting column zero, but only after you use CCM_SETVERSION to set the version to 5 or later. In versions prior to @@ -1448,7 +1448,6 @@ namespace Vanara.PInvoke /// /// Gets the width of a column in report or list view. You can send this message explicitly or by using the /// ListView_GetColumnWidth macro. - /// /// Parameters /// wParam /// The index of the column. This parameter is ignored in list view. @@ -1459,13 +1458,13 @@ namespace Vanara.PInvoke /// Returns the column width if successful, or zero otherwise. If this message is sent to a list-view control with the /// LVS_REPORT style and the specified column does not exist, the return value is undefined. /// + /// // https://docs.microsoft.com/en-us/windows/win32/controls/lvm-getcolumnwidth LVM_GETCOLUMNWIDTH = LVM_FIRST + 29, /// /// Changes the width of a column in report-view mode or the width of all columns in list-view mode. You can send this message /// explicitly or use the ListView_SetColumnWidth macro. - /// /// Parameters /// wParam /// Zero-based index of a valid column. For list-view mode, this parameter must be set to zero. @@ -1490,6 +1489,7 @@ namespace Vanara.PInvoke /// /// Returns /// Returns TRUE if successful, or FALSE otherwise. + /// /// /// Assume that you have a 2-column list-view control with a width of 500 pixels. If the width of column zero is set to 200 /// pixels, and you send this message with wParam = 1 and lParam = LVSCW_AUTOSIZE_USEHEADER, the second (and last) column will be @@ -1501,7 +1501,6 @@ namespace Vanara.PInvoke /// /// Gets the handle to the header control used by the list-view control. You can send this message explicitly or use the /// ListView_GetHeader macro. - /// /// Parameters /// wParam /// Must be zero. @@ -1509,13 +1508,13 @@ namespace Vanara.PInvoke /// Must be zero. /// Returns /// Returns the handle to the header control. + /// // https://docs.microsoft.com/en-us/windows/win32/controls/lvm-getheader LVM_GETHEADER = LVM_FIRST + 31, /// /// Creates a drag image list for the specified item. You can send this message explicitly or by using the /// ListView_CreateDragImage macro. - /// /// Parameters /// wParam /// The index of the item. @@ -1525,6 +1524,7 @@ namespace Vanara.PInvoke /// /// Returns /// Returns the handle to the drag image list if successful, or NULL otherwise. + /// /// Your application is responsible for destroying the image list when it is no longer needed. // https://docs.microsoft.com/en-us/windows/win32/controls/lvm-createdragimage LVM_CREATEDRAGIMAGE = LVM_FIRST + 33, @@ -1532,7 +1532,6 @@ namespace Vanara.PInvoke /// /// Retrieves the bounding rectangle of all items in the list-view control. The list view must be in icon or small icon view. You /// can send this message explicitly or by using the ListView_GetViewRect macro. - /// /// Parameters /// wParam /// Must be zero. @@ -1543,13 +1542,13 @@ namespace Vanara.PInvoke /// /// Returns /// Returns TRUE if successful, or FALSE otherwise. + /// // https://docs.microsoft.com/en-us/windows/win32/controls/lvm-getviewrect LVM_GETVIEWRECT = LVM_FIRST + 34, /// /// Retrieves the text color of a list-view control. You can send this message explicitly or by using the /// ListView_GetTextColor macro. - /// /// Parameters /// wParam /// Must be zero. @@ -1557,12 +1556,12 @@ namespace Vanara.PInvoke /// Must be zero. /// Returns /// Returns the text color. + /// // https://docs.microsoft.com/en-us/windows/win32/controls/lvm-gettextcolor LVM_GETTEXTCOLOR = LVM_FIRST + 35, /// /// Sets the text color of a list-view control. You can send this message explicitly or by using the ListView_SetTextColor macro. - /// /// Parameters /// wParam /// Must be zero. @@ -1570,13 +1569,13 @@ namespace Vanara.PInvoke /// A COLORREF that specifies the new text color. /// Returns /// Returns TRUE if successful, or FALSE otherwise. + /// // https://docs.microsoft.com/en-us/windows/win32/controls/lvm-settextcolor LVM_SETTEXTCOLOR = LVM_FIRST + 36, /// /// Retrieves the text background color of a list-view control. You can send this message explicitly or by using the /// ListView_GetTextBkColor macro. - /// /// Parameters /// wParam /// Must be zero. @@ -1584,13 +1583,13 @@ namespace Vanara.PInvoke /// Must be zero. /// Returns /// Returns the background color of the text. + /// // https://docs.microsoft.com/en-us/windows/win32/controls/lvm-gettextbkcolor LVM_GETTEXTBKCOLOR = LVM_FIRST + 37, /// /// Sets the background color of text in a list-view control. You can send this message explicitly or by using the /// ListView_SetTextBkColor macro. - /// /// Parameters /// wParam /// Must be zero. @@ -1598,13 +1597,13 @@ namespace Vanara.PInvoke /// New text background color. This can be CLR_NONE for no background color. /// Returns /// Returns TRUE if successful, or FALSE otherwise. + /// // https://docs.microsoft.com/en-us/windows/win32/controls/lvm-settextbkcolor LVM_SETTEXTBKCOLOR = LVM_FIRST + 38, /// /// Retrieves the index of the topmost visible item when in list or report view. You can send this message explicitly or by using /// the ListView_GetTopIndex macro. - /// /// Parameters /// wParam /// Must be zero. @@ -1615,6 +1614,7 @@ namespace Vanara.PInvoke /// Returns the index of the item if successful. Returns zero if the list-view control is in icon or small icon view, or if the /// list-view control is in details view with groups enabled. /// + /// // https://docs.microsoft.com/en-us/windows/win32/controls/lvm-gettopindex LVM_GETTOPINDEX = LVM_FIRST + 39, @@ -1622,7 +1622,6 @@ namespace Vanara.PInvoke /// Calculates the number of items that can fit vertically in the visible area of a list-view control when in list or report /// view. Only fully visible items are counted. You can send this message explicitly or by using the /// ListView_GetCountPerPage macro. - /// /// Parameters /// wParam /// Must be zero. @@ -1633,13 +1632,13 @@ namespace Vanara.PInvoke /// Returns the number of fully visible items if successful. If the current view is icon or small icon view, the return value is /// the total number of items in the list-view control. /// + /// // https://docs.microsoft.com/en-us/windows/win32/controls/lvm-getcountperpage LVM_GETCOUNTPERPAGE = LVM_FIRST + 40, /// /// Retrieves the current view origin for a list-view control. You can send this message explicitly or by using the /// ListView_GetOrigin macro. - /// /// Parameters /// wParam /// Must be zero. @@ -1647,13 +1646,13 @@ namespace Vanara.PInvoke /// Pointer to a POINT structure that receives the view origin. /// Returns /// Returns TRUE if successful, or FALSE if the current view is list or report view. + /// // https://docs.microsoft.com/en-us/windows/win32/controls/lvm-getorigin LVM_GETORIGIN = LVM_FIRST + 41, /// /// Updates a list-view item. If the list-view control has the LVS_AUTOARRANGE style, this macro causes the list-view /// control to be arranged. You can send this message explicitly or by using the ListView_Update macro. - /// /// Parameters /// wParam /// Index of the item to update. @@ -1661,13 +1660,13 @@ namespace Vanara.PInvoke /// Must be zero. /// Returns /// Returns TRUE if successful, or FALSE otherwise. + /// // https://docs.microsoft.com/en-us/windows/win32/controls/lvm-update LVM_UPDATE = LVM_FIRST + 42, /// /// Changes the state of an item in a list-view control. You can send this message explicitly or by using the /// ListView_SetItemState macro. - /// /// Parameters /// wParam /// Index of the list-view item. If this parameter is -1, then the state change is applied to all items. @@ -1678,6 +1677,7 @@ namespace Vanara.PInvoke /// /// Returns /// If you send this message explicitly, it returns TRUE if successful or FALSE otherwise. + /// /// /// An item's state value includes a set of bit flags that indicate the item's state. The state value can also include image list /// indexes that indicate the item's state image and overlay image. @@ -1687,7 +1687,6 @@ namespace Vanara.PInvoke /// /// Retrieves the state of a list-view item. You can send this message explicitly or by using the ListView_GetItemState macro. - /// /// Parameters /// wParam /// Index of the list-view item. @@ -1734,6 +1733,7 @@ namespace Vanara.PInvoke /// Returns the current state for the specified item. The only valid bits in the return value are those that correspond to the /// bits set in the lParam parameter. /// + /// /// /// An item's state information includes a set of bit flags as well as image list indexes that indicate the item's state image /// and overlay image. @@ -1744,7 +1744,6 @@ namespace Vanara.PInvoke /// /// Retrieves the text of a list-view item or subitem. You can send this message explicitly or by using the /// ListView_GetItemText macro. - /// /// Parameters /// wParam /// Index of the list-view item. @@ -1758,6 +1757,7 @@ namespace Vanara.PInvoke /// /// If you send this message explicitly, it returns the number of characters in the pszText member of the LVITEM structure. /// + /// /// /// /// You can also send this message by calling the ListView_GetItemText macro. However, this macro does not return the @@ -1771,7 +1771,6 @@ namespace Vanara.PInvoke /// /// Changes the text of a list-view item or subitem. You can send this message explicitly or by using the /// ListView_SetItemText macro. - /// /// Parameters /// wParam /// Zero-based index of the list-view item. @@ -1785,13 +1784,13 @@ namespace Vanara.PInvoke /// /// Returns /// If you send this message explicitly, it returns TRUE if successful or FALSE otherwise. + /// // https://docs.microsoft.com/en-us/windows/win32/controls/lvm-setitemtext LVM_SETITEMTEXT = LVM_FIRST + 116, /// /// Causes the list-view control to allocate memory for the specified number of items or sets the virtual number of items in a /// virtual list-view control. - /// /// Parameters /// wParam /// Number of items that the list-view control will ultimately contain. @@ -1816,6 +1815,7 @@ namespace Vanara.PInvoke /// /// Returns /// Returns nonzero if successful, or zero otherwise. + /// /// /// /// How the memory is allocated depends on how the list-view control was created. You can send this message explicitly or use the @@ -1845,7 +1845,6 @@ namespace Vanara.PInvoke /// /// Uses an application-defined comparison function to sort the items of a list-view control. The index of each item changes to /// reflect the new sequence. You can send this message explicitly or by using the ListView_SortItems macro. - /// /// Parameters /// wParam /// Application-defined value that is passed to the comparison function. @@ -1856,6 +1855,7 @@ namespace Vanara.PInvoke /// /// Returns /// Returns TRUE if successful, or FALSE otherwise. + /// /// /// The comparison function has the following form: /// @@ -1886,7 +1886,6 @@ namespace Vanara.PInvoke /// Moves an item to a specified position in a list-view control (must be in icon or small icon view). This message differs from /// the LVM_SETITEMPOSITION message in that it uses 32-bit coordinates. You can send this message explicitly or by using /// the ListView_SetItemPosition32 macro. - /// /// Parameters /// wParam /// Index of the list-view item for which to set the position. @@ -1894,13 +1893,13 @@ namespace Vanara.PInvoke /// Pointer to a POINT structure that contains the new position of the item, in list-view coordinates. /// Returns /// No return value. + /// // https://docs.microsoft.com/en-us/windows/win32/controls/lvm-setitemposition32 LVM_SETITEMPOSITION32 = LVM_FIRST + 49, /// /// Determines the number of selected items in a list-view control. You can send this message explicitly or by using the /// ListView_GetSelectedCount macro. - /// /// Parameters /// wParam /// Must be zero. @@ -1908,13 +1907,13 @@ namespace Vanara.PInvoke /// Must be zero. /// Returns /// Returns the number of selected items. + /// // https://docs.microsoft.com/en-us/windows/win32/controls/lvm-getselectedcount LVM_GETSELECTEDCOUNT = LVM_FIRST + 50, /// /// Determines the spacing between items in a list-view control. You can send this message explicitly or by using the /// ListView_GetItemSpacing macro. - /// /// Parameters /// wParam /// @@ -1927,13 +1926,13 @@ namespace Vanara.PInvoke /// Returns the amount of spacing between items. The horizontal spacing is contained in the LOWORD and the vertical /// spacing is contained in the HIWORD. /// + /// // https://docs.microsoft.com/en-us/windows/win32/controls/lvm-getitemspacing LVM_GETITEMSPACING = LVM_FIRST + 51, /// /// Retrieves the incremental search string of a list-view control. You can send this message explicitly or by using the /// ListView_GetISearchString macro. - /// /// Parameters /// wParam /// Must be zero. @@ -1946,6 +1945,7 @@ namespace Vanara.PInvoke /// Returns the number of characters in the incremental search string, not including the terminating NULL character, or zero if /// the list-view control is not in incremental search mode. /// + /// /// /// /// Security Warning: Using this message incorrectly might compromise the security of your program. This message does not @@ -1973,7 +1973,6 @@ namespace Vanara.PInvoke /// /// Sets the spacing between icons in list-view controls that have the LVS_ICON style. You can send this message /// explicitly or by using the ListView_SetIconSpacing macro. - /// /// Parameters /// wParam /// Must be zero. @@ -1987,6 +1986,7 @@ namespace Vanara.PInvoke /// Returns a DWORD value that contains the previous x-axis distance in the low word, and the previous y-axis distance in /// the high word. /// + /// /// /// /// Values for lParam are relative to the upper-left corner of an icon bitmap. Therefore, to set spacing between icons that do @@ -2004,7 +2004,6 @@ namespace Vanara.PInvoke /// /// Sets extended styles in list-view controls. You can send this message explicitly or use the /// ListView_SetExtendedListViewStyle or ListView_SetExtendedListViewStyleEx macro. - /// /// Parameters /// wParam /// @@ -2019,6 +2018,7 @@ namespace Vanara.PInvoke /// /// Returns /// Returns a DWORD value that contains the previous extended list-view control styles. + /// /// /// /// The wParam parameter allows you to modify one or more extended styles without having to retrieve the existing styles first. @@ -2041,7 +2041,6 @@ namespace Vanara.PInvoke /// /// Gets the extended styles that are currently in use for a given list-view control. You can send this message explicitly or use /// the ListView_GetExtendedListViewStyle macro. - /// /// Parameters /// wParam /// Must be zero. @@ -2052,6 +2051,7 @@ namespace Vanara.PInvoke /// Returns a DWORD that represents the styles currently in use for a given list-view control. This value can be a /// combination of Extended List-View Styles. /// + /// // https://docs.microsoft.com/en-us/windows/win32/controls/lvm-getextendedlistviewstyle LVM_GETEXTENDEDLISTVIEWSTYLE = LVM_FIRST + 55, @@ -2059,7 +2059,6 @@ namespace Vanara.PInvoke /// Retrieves information about the bounding rectangle for a subitem in a list-view control. You can send this message explicitly /// or by using the ListView_GetSubItemRect macro (recommended). This message is intended to be used only with list-view /// controls that use the LVS_REPORT style. - /// /// Parameters /// wParam /// Index of the subitem's parent item. @@ -2084,6 +2083,7 @@ namespace Vanara.PInvoke /// /// Returns /// Returns nonzero if successful, or zero otherwise. + /// /// /// Following are the flag values that may be set. /// @@ -2115,7 +2115,6 @@ namespace Vanara.PInvoke /// /// Determines which list-view item or subitem is at a given position. You can send this message explicitly or by using the /// ListView_SubItemHitTest macro. - /// /// Parameters /// wParam /// Must be 0. **Windows Vista.** Should be -1 if the **iGroup** member of *lParam* is to be retrieved. @@ -2129,13 +2128,13 @@ namespace Vanara.PInvoke /// Returns the index of the item or subitem tested, if any, or -1 otherwise. If an item or subitem is at the given coordinates, /// the fields of the LVHITTESTINFO structure will be filled with the applicable hit information. /// + /// // https://docs.microsoft.com/en-us/windows/win32/controls/lvm-subitemhittest LVM_SUBITEMHITTEST = LVM_FIRST + 57, /// /// Sets the left-to-right order of columns in a list-view control. You can send this message explicitly or use the /// ListView_SetColumnOrderArray macro. - /// /// Parameters /// wParam /// Size, in elements, of the buffer at lParam. @@ -2146,13 +2145,13 @@ namespace Vanara.PInvoke /// /// Returns /// Returns nonzero if successful, or zero otherwise. + /// // https://docs.microsoft.com/en-us/windows/win32/controls/lvm-setcolumnorderarray LVM_SETCOLUMNORDERARRAY = LVM_FIRST + 58, /// /// Gets the current left-to-right order of columns in a list-view control. You can send this message explicitly or use the /// ListView_GetColumnOrderArray macro. - /// /// Parameters /// wParam /// The number of columns in the list-view control. @@ -2166,12 +2165,12 @@ namespace Vanara.PInvoke /// If successful, returns nonzero, and the buffer at lParam receives the column index of each column in the control in the order /// they appear from left to right. Otherwise, the return value is zero. /// + /// // https://docs.microsoft.com/en-us/windows/win32/controls/lvm-getcolumnorderarray LVM_GETCOLUMNORDERARRAY = LVM_FIRST + 59, /// /// Sets the hot item for a list-view control. You can send this message explicitly or use the ListView_SetHotItem macro. - /// /// Parameters /// wParam /// Zero-based index of the item to be set as the hot item. @@ -2179,12 +2178,12 @@ namespace Vanara.PInvoke /// Must be zero. /// Returns /// Returns the index of the item that was previously hot. + /// // https://docs.microsoft.com/en-us/windows/win32/controls/lvm-sethotitem LVM_SETHOTITEM = LVM_FIRST + 60, /// /// Retrieves the index of the hot item. You can send this message explicitly or use the ListView_GetHotItem macro. - /// /// Parameters /// wParam /// Must be zero. @@ -2192,6 +2191,7 @@ namespace Vanara.PInvoke /// Must be zero. /// Returns /// Returns the index of the item that is hot. + /// // https://docs.microsoft.com/en-us/windows/win32/controls/lvm-gethotitem LVM_GETHOTITEM = LVM_FIRST + 61, @@ -2199,7 +2199,6 @@ namespace Vanara.PInvoke /// Sets the HCURSOR value that the list-view control uses when the pointer is over an item while hot tracking is enabled. You /// can send this message explicitly or use the ListView_SetHotCursor macro. To check whether hot tracking is enabled, /// call SystemParametersInfo. - /// /// Parameters /// wParam /// Must be zero. @@ -2207,6 +2206,7 @@ namespace Vanara.PInvoke /// Handle to the cursor to be set. /// Returns /// Returns an HCURSOR value that is the previous hot cursor. + /// /// A list-view control uses hot tracking and hover selection when the LVS_EX_TRACKSELECT style is set. // https://docs.microsoft.com/en-us/windows/win32/controls/lvm-sethotcursor LVM_SETHOTCURSOR = LVM_FIRST + 62, @@ -2214,7 +2214,6 @@ namespace Vanara.PInvoke /// /// Retrieves the HCURSOR value used when the pointer is over an item while hot tracking is enabled. You can send this message /// explicitly or use the ListView_GetHotCursor macro. - /// /// Parameters /// wParam /// Must be zero. @@ -2222,6 +2221,7 @@ namespace Vanara.PInvoke /// Must be zero. /// Returns /// Returns an HCURSOR value that is the handle to the cursor that the list-view control uses when hot tracking is enabled. + /// /// A list-view control uses hot tracking and hover selection when the LVS_EX_TRACKSELECT style is set. // https://docs.microsoft.com/en-us/windows/win32/controls/lvm-gethotcursor LVM_GETHOTCURSOR = LVM_FIRST + 63, @@ -2229,7 +2229,6 @@ namespace Vanara.PInvoke /// /// Calculates the approximate width and height required to display a given number of items. You can send this message explicitly /// or use the ListView_ApproximateViewRect macro. - /// /// Parameters /// wParam /// @@ -2250,6 +2249,7 @@ namespace Vanara.PInvoke /// Returns a DWORD value that holds the approximate width (in the LOWORD) and height (in the HIWORD) needed /// to display the items, in pixels. /// + /// /// /// Setting the size of the list-view control based on the dimensions provided by this message can optimize redraw and reduce flicker. /// @@ -2259,7 +2259,6 @@ namespace Vanara.PInvoke /// /// Sets the working areas within a list-view control. You can send this message explicitly or use the /// ListView_SetWorkAreas macro. - /// /// Parameters /// wParam /// @@ -2273,13 +2272,13 @@ namespace Vanara.PInvoke /// /// Returns /// The return value for this message is not used. + /// // https://docs.microsoft.com/en-us/windows/win32/controls/lvm-setworkareas LVM_SETWORKAREAS = LVM_FIRST + 65, /// /// Retrieves the working areas from a list-view control. You can send this message explicitly or use the /// ListView_GetWorkAreas macro. - /// /// Parameters /// wParam /// The number of RECT structures in the array at lParam. @@ -2290,13 +2289,13 @@ namespace Vanara.PInvoke /// /// Returns /// The return value for this message is not used. + /// // https://docs.microsoft.com/en-us/windows/win32/controls/lvm-getworkareas LVM_GETWORKAREAS = LVM_FIRST + 70, /// /// Retrieves the number of working areas in a list-view control. You can send this message explicitly or use the /// ListView_GetNumberOfWorkAreas macro. - /// /// Parameters /// wParam /// Must be zero. @@ -2307,13 +2306,13 @@ namespace Vanara.PInvoke /// /// Returns /// The return value for this message is not used. + /// // https://docs.microsoft.com/en-us/windows/win32/controls/lvm-getnumberofworkareas LVM_GETNUMBEROFWORKAREAS = LVM_FIRST + 73, /// /// Retrieves the selection mark from a list-view control. You can send this message explicitly or use the /// ListView_GetSelectionMark macro. - /// /// Parameters /// wParam /// Must be zero. @@ -2321,6 +2320,7 @@ namespace Vanara.PInvoke /// Must be zero. /// Returns /// Returns the zero-based selection mark, or -1 if there is no selection mark. + /// /// The selection mark is the item index from which a multiple selection starts. // https://docs.microsoft.com/en-us/windows/win32/controls/lvm-getselectionmark LVM_GETSELECTIONMARK = LVM_FIRST + 66, @@ -2328,7 +2328,6 @@ namespace Vanara.PInvoke /// /// Sets the selection mark in a list-view control. You can send this message explicitly or use the /// ListView_SetSelectionMark macro. - /// /// Parameters /// wParam /// Must be zero. @@ -2336,6 +2335,7 @@ namespace Vanara.PInvoke /// Zero-based index of the new selection mark. If set to -1, the selection mark is removed. /// Returns /// Returns the previous selection mark, or -1 if there is no previous selection mark. + /// /// /// The selection mark is the item index from which a multiple selection starts. This message does not affect the selection state /// of the item. @@ -2346,7 +2346,6 @@ namespace Vanara.PInvoke /// /// Sets the amount of time which the mouse cursor must hover over an item before it is selected. You can send this message /// explicitly or use the ListView_SetHoverTime macro. - /// /// Parameters /// wParam /// Must be zero. @@ -2357,6 +2356,7 @@ namespace Vanara.PInvoke /// /// Returns /// Returns the previous hover time. + /// /// /// The hover time only affects list-view controls that have the LVS_EX_TRACKSELECT, LVS_EX_ONECLICKACTIVATE, or /// LVS_EX_TWOCLICKACTIVATE extended list-view style. @@ -2367,7 +2367,6 @@ namespace Vanara.PInvoke /// /// Retrieves the amount of time that the mouse cursor must hover over an item before it is selected. You can send this message /// explicitly or use the ListView_GetHoverTime macro. - /// /// Parameters /// wParam /// Must be zero. @@ -2378,6 +2377,7 @@ namespace Vanara.PInvoke /// Returns the amount of time, in milliseconds, that the mouse cursor must hover over an item before it is selected. If the /// return value is ( DWORD)-1, then the hover time is the default hover time. /// + /// /// /// The hover time only affects list-view controls that have the LVS_EX_TRACKSELECT, LVS_EX_ONECLICKACTIVATE, or /// LVS_EX_TWOCLICKACTIVATE extended list-view style. @@ -2388,7 +2388,6 @@ namespace Vanara.PInvoke /// /// Sets the tooltip control that the list-view control will use to display tooltips. You can send this message explicitly or use /// the ListView_SetToolTips macro. - /// /// Parameters /// wParam /// Handle to the tooltip control to be set. @@ -2396,13 +2395,13 @@ namespace Vanara.PInvoke /// Must be zero. /// Returns /// Returns the handle to the previous tooltip control. + /// // https://docs.microsoft.com/en-us/windows/win32/controls/lvm-settooltips LVM_SETTOOLTIPS = LVM_FIRST + 74, /// /// Retrieves the tooltip control that the list-view control uses to display tooltips. You can send this message explicitly or /// use the ListView_GetToolTips macro. - /// /// Parameters /// wParam /// Must be zero. @@ -2410,13 +2409,13 @@ namespace Vanara.PInvoke /// Must be zero. /// Returns /// Returns the handle of the tooltip control. + /// // https://docs.microsoft.com/en-us/windows/win32/controls/lvm-gettooltips LVM_GETTOOLTIPS = LVM_FIRST + 78, /// /// Uses an application-defined comparison function to sort the items of a list-view control. The index of each item changes to /// reflect the new sequence. You can send this message explicitly or by using the ListView_SortItemsEx macro. - /// /// Parameters /// wParam /// Application-defined value that is passed to the comparison function. @@ -2427,6 +2426,7 @@ namespace Vanara.PInvoke /// /// Returns /// Returns TRUE if successful, or FALSE otherwise. + /// /// /// The comparison function has the following form: /// @@ -2455,7 +2455,6 @@ namespace Vanara.PInvoke /// /// Sets the background image in a list-view control. You can send this message explicitly or by using the /// ListView_SetBkImage macro. - /// /// Parameters /// wParam /// Must be zero. @@ -2466,6 +2465,7 @@ namespace Vanara.PInvoke /// Returns nonzero if successful, or zero otherwise. Returns zero if the ulFlags member of the LVBKIMAGE structure /// is LVBKIF_SOURCE_NONE. /// + /// /// /// Because the list-view control uses OLE COM to manipulate the background images, the calling application must call /// CoInitialize or OleInitialize before sending this message. It is best to call one of these functions when the @@ -2477,7 +2477,6 @@ namespace Vanara.PInvoke /// /// Gets the background image in a list-view control. You can send this message explicitly or by using the /// ListView_GetBkImage macro. - /// /// Parameters /// wParam /// Must be zero. @@ -2485,10 +2484,12 @@ namespace Vanara.PInvoke /// A pointer to an LVBKIMAGE structure that will receive the background image information. /// Returns /// Returns nonzero if successful, or zero otherwise. + /// // https://docs.microsoft.com/en-us/windows/win32/controls/lvm-getbkimage LVM_GETBKIMAGE = LVM_FIRST + 139, - /// Sets the index of the selected column. + /// + /// Sets the index of the selected column. /// Parameters /// wParam /// Value of type **int** that specifies the column index. @@ -2496,6 +2497,7 @@ namespace Vanara.PInvoke /// Must be zero. /// Returns /// The return value is not used. + /// /// /// The column indices are stored in an int array. See the puColumns member of LVITEM. /// @@ -2509,7 +2511,8 @@ namespace Vanara.PInvoke // https://docs.microsoft.com/en-us/windows/win32/controls/lvm-setselectedcolumn LVM_SETSELECTEDCOLUMN = LVM_FIRST + 140, - /// Sets the view of a list-view control. + /// + /// Sets the view of a list-view control. /// Parameters /// wParam /// **DWORD** that specifies the view. @@ -2517,6 +2520,7 @@ namespace Vanara.PInvoke /// Must be zero. /// Returns /// Returns 1 if successful, or -1 otherwise. For example, -1 is returned if the view is invalid. + /// /// /// Following are the values for views. /// @@ -2547,7 +2551,8 @@ namespace Vanara.PInvoke // https://docs.microsoft.com/en-us/windows/win32/controls/lvm-setview LVM_SETVIEW = LVM_FIRST + 142, - /// Retrieves the current view of a list-view control. + /// + /// Retrieves the current view of a list-view control. /// Parameters /// wParam /// Must be zero. @@ -2555,6 +2560,7 @@ namespace Vanara.PInvoke /// Must be zero. /// Returns /// Returns a DWORD that specifies the current view. + /// /// /// Following are the values for views. /// @@ -2585,7 +2591,8 @@ namespace Vanara.PInvoke // https://docs.microsoft.com/en-us/windows/win32/controls/lvm-getview LVM_GETVIEW = LVM_FIRST + 143, - /// Inserts a group into a list-view control. + /// + /// Inserts a group into a list-view control. /// Parameters /// wParam /// Index where the group is to be added. If this is -1, the group is added at the end of the list. @@ -2595,6 +2602,7 @@ namespace Vanara.PInvoke /// structure that contains the group to add. /// Returns /// Returns the index of the item that the group was added to, or -1 if the operation failed. + /// /// /// To turn on group mode, call LVM_ENABLEGROUPVIEW or ListView_EnableGroupView. /// A group cannot be inserted into an empty list-view control. @@ -2613,7 +2621,8 @@ namespace Vanara.PInvoke // https://docs.microsoft.com/en-us/windows/win32/controls/lvm-insertgroup LVM_INSERTGROUP = LVM_FIRST + 145, - /// Sets group information. Send this message explicitly or by using the ListView_SetGroupInfo macro. + /// + /// Sets group information. Send this message explicitly or by using the ListView_SetGroupInfo macro. /// Parameters /// wParam /// ID that specifies the group whose information is to be set. @@ -2623,6 +2632,7 @@ namespace Vanara.PInvoke /// /// Returns /// Returns the ID of the group if successful, or -1 otherwise. + /// /// /// /// To change a group ID of an existing group add LVGF_GROUPID to LVGROUP.mask and set LVGROUP.iGroupId to @@ -2643,7 +2653,8 @@ namespace Vanara.PInvoke // https://docs.microsoft.com/en-us/windows/win32/controls/lvm-setgroupinfo LVM_SETGROUPINFO = LVM_FIRST + 147, - /// Gets group information. + /// + /// Gets group information. /// Parameters /// wParam /// An ID that specifies the group whose information is retrieved. @@ -2653,6 +2664,7 @@ namespace Vanara.PInvoke /// structure that receives the retrieved information. Set the **cbSize** member of this structure to sizeof(LVGROUP). /// Returns /// Returns the ID of the group if successful, or -1 otherwise. + /// /// /// Before attempting to retrieve the header for a group, first ensure that the group does not have the LBGS_NOHEADER style. /// @@ -2666,7 +2678,8 @@ namespace Vanara.PInvoke // https://docs.microsoft.com/en-us/windows/win32/controls/lvm-getgroupinfo LVM_GETGROUPINFO = LVM_FIRST + 149, - /// Removes a group from a list-view control. + /// + /// Removes a group from a list-view control. /// Parameters /// wParam /// ID that specifies the group to remove. @@ -2674,6 +2687,7 @@ namespace Vanara.PInvoke /// Must be NULL. /// Returns /// Returns the index of the group if successful, or -1 otherwise. + /// /// /// Note /// @@ -2688,7 +2702,8 @@ namespace Vanara.PInvoke // https://docs.microsoft.com/en-us/windows/win32/controls/lvm-movegroup LVM_MOVEGROUP = LVM_FIRST + 151, - /// Gets the number of groups. + /// + /// Gets the number of groups. /// Parameters /// wParam /// Not used. Should be 0. @@ -2696,12 +2711,12 @@ namespace Vanara.PInvoke /// Not used. Should be 0. /// Returns /// Returns the number of groups. + /// // https://docs.microsoft.com/en-us/windows/win32/controls/lvm-getgroupcount LVM_GETGROUPCOUNT = LVM_FIRST + 152, /// /// Gets information on a specified group. Send this message explicitly or by using the ListView_GetGroupInfoByIndex macro. - /// /// Parameters /// wParam /// The index of the group. @@ -2715,6 +2730,7 @@ namespace Vanara.PInvoke /// The message receiver is responsible for setting the structure members with information for the group specified by wParam. /// Returns /// Returns TRUE if successful, or FALSE otherwise. + /// // https://docs.microsoft.com/en-us/windows/win32/controls/lvm-getgroupinfobyindex LVM_GETGROUPINFOBYINDEX = LVM_FIRST + 153, @@ -2724,7 +2740,6 @@ namespace Vanara.PInvoke /// /// Gets the rectangle for a specified group. Send this message explicitly or by using the ListView_GetGroupRect macro. - /// /// Parameters /// wParam /// Specifies the group by iGroupId (see LVGROUP structure). @@ -2766,10 +2781,12 @@ namespace Vanara.PInvoke /// /// Returns /// Returns TRUE if successful, or FALSE otherwise. + /// // https://docs.microsoft.com/en-us/windows/win32/controls/lvm-getgrouprect LVM_GETGROUPRECT = LVM_FIRST + 98, - /// Sets information about the display of groups. + /// + /// Sets information about the display of groups. /// Parameters /// wParam /// Must be **NULL**. @@ -2779,6 +2796,7 @@ namespace Vanara.PInvoke /// structure that contains the metrics to set. /// Returns /// The return value is not used. + /// /// /// Note /// @@ -2789,7 +2807,8 @@ namespace Vanara.PInvoke // https://docs.microsoft.com/en-us/windows/win32/controls/lvm-setgroupmetrics LVM_SETGROUPMETRICS = LVM_FIRST + 155, - /// Gets information about the display of groups. + /// + /// Gets information about the display of groups. /// Parameters /// wParam /// Must be **NULL**. @@ -2799,6 +2818,7 @@ namespace Vanara.PInvoke /// structure that receives the retrieved metrics. /// Returns /// The return value is not used. + /// /// /// Note /// @@ -2809,7 +2829,8 @@ namespace Vanara.PInvoke // https://docs.microsoft.com/en-us/windows/win32/controls/lvm-getgroupmetrics LVM_GETGROUPMETRICS = LVM_FIRST + 156, - /// Enables or disables whether the items in a list-view control display as a group. + /// + /// Enables or disables whether the items in a list-view control display as a group. /// Parameters /// wParam /// @@ -2838,6 +2859,7 @@ namespace Vanara.PInvoke /// The operation failed. /// /// + /// /// /// LVM_ENABLEGROUPVIEW is not supported under the LVS_OWNERDATA style. /// @@ -2851,7 +2873,8 @@ namespace Vanara.PInvoke // https://docs.microsoft.com/en-us/windows/win32/controls/lvm-enablegroupview LVM_ENABLEGROUPVIEW = LVM_FIRST + 157, - /// Uses an application-defined comparison function to sort groups by ID within a list-view control. + /// + /// Uses an application-defined comparison function to sort groups by ID within a list-view control. /// Parameters /// wParam /// Pointer to an application-defined comparison function, @@ -2861,6 +2884,7 @@ namespace Vanara.PInvoke /// Void pointer to the application-defined information. /// Returns /// Returns 1 if successful, or 0 otherwise. + /// /// /// Note /// @@ -2871,7 +2895,8 @@ namespace Vanara.PInvoke // https://docs.microsoft.com/en-us/windows/win32/controls/lvm-sortgroups LVM_SORTGROUPS = LVM_FIRST + 158, - /// Inserts a group into an ordered list of groups. + /// + /// Inserts a group into an ordered list of groups. /// Parameters /// wParam /// Pointer to an @@ -2881,6 +2906,7 @@ namespace Vanara.PInvoke /// Must be **NULL**. /// Returns /// The return value is not used. + /// /// /// /// The ordering of the list is based on the ID of the group. The order is defined by the application-defined ordering function, @@ -2897,7 +2923,8 @@ namespace Vanara.PInvoke // https://docs.microsoft.com/en-us/windows/win32/controls/lvm-insertgroupsorted LVM_INSERTGROUPSORTED = LVM_FIRST + 159, - /// Removes all groups from a list-view control. + /// + /// Removes all groups from a list-view control. /// Parameters /// wParam /// Must be **NULL**. @@ -2905,6 +2932,7 @@ namespace Vanara.PInvoke /// Must be **NULL**. /// Returns /// The return value is not used. + /// /// /// Note /// @@ -2915,7 +2943,8 @@ namespace Vanara.PInvoke // https://docs.microsoft.com/en-us/windows/win32/controls/lvm-removeallgroups LVM_REMOVEALLGROUPS = LVM_FIRST + 160, - /// Determines whether the list-view control has a specified group. + /// + /// Determines whether the list-view control has a specified group. /// Parameters /// wParam /// ID of the group. @@ -2923,6 +2952,7 @@ namespace Vanara.PInvoke /// Must be **NULL**. /// Returns /// Returns TRUE if the list-view control has the specified group, or FALSE otherwise. + /// /// /// Note /// @@ -2935,7 +2965,6 @@ namespace Vanara.PInvoke /// /// Gets the state for a specified group. Send this message explicitly or by using the ListView_GetGroupState macro. - /// /// Parameters /// wParam /// Specifies the group by iGroupId (see LVGROUP structure). @@ -2946,12 +2975,12 @@ namespace Vanara.PInvoke /// Returns the combination of state values that are set. For example, if lParam is LVGS_COLLAPSED and the value returned is /// zero, the LVGS_COLLAPSED state is not set. Zero is returned if the group is not found. /// + /// // https://docs.microsoft.com/en-us/windows/win32/controls/lvm-getgroupstate LVM_GETGROUPSTATE = LVM_FIRST + 92, /// /// Gets the group that has the focus. Send this message explicitly or by using the ListView_GetFocusedGroup macro. - /// /// Parameters /// wParam /// Must be zero. @@ -2959,10 +2988,12 @@ namespace Vanara.PInvoke /// Must be zero. /// Returns /// Returns the index of the group with state of LVGS_FOCUSED, or -1 if there is no group with state of LVGS_FOCUSED. + /// // https://docs.microsoft.com/en-us/windows/win32/controls/lvm-getfocusedgroup LVM_GETFOCUSEDGROUP = LVM_FIRST + 93, - /// Sets information that a list-view control uses in tile view. + /// + /// Sets information that a list-view control uses in tile view. /// Parameters /// wParam /// Must be zero. @@ -2972,6 +3003,7 @@ namespace Vanara.PInvoke /// structure that contains the information to set. /// Returns /// Returns TRUE if successful, or FALSE otherwise. + /// /// /// To use this message, you must provide a manifest specifying Comclt32.dll version 6.0. For more information on manifests, see /// Enabling Visual Styles. @@ -2979,7 +3011,8 @@ namespace Vanara.PInvoke // https://docs.microsoft.com/en-us/windows/win32/controls/lvm-settileviewinfo LVM_SETTILEVIEWINFO = LVM_FIRST + 162, - /// Retrieves information about a list-view control in tile view. + /// + /// Retrieves information about a list-view control in tile view. /// Parameters /// wParam /// Must be zero. @@ -2989,6 +3022,7 @@ namespace Vanara.PInvoke /// structure that receives the retrieved information. /// Returns /// Return value not used. + /// /// /// Note /// @@ -2999,7 +3033,8 @@ namespace Vanara.PInvoke // https://docs.microsoft.com/en-us/windows/win32/controls/lvm-gettileviewinfo LVM_GETTILEVIEWINFO = LVM_FIRST + 163, - /// Sets information for an existing tile of a list-view control. + /// + /// Sets information for an existing tile of a list-view control. /// Parameters /// wParam /// Must be zero. @@ -3009,6 +3044,7 @@ namespace Vanara.PInvoke /// structure that contains the information to set. /// Returns /// Returns TRUE if successful, or FALSE otherwise. + /// /// /// LVM_SETTILEINFO is not supported under the LVS_OWNERDATA style. /// @@ -3022,7 +3058,8 @@ namespace Vanara.PInvoke // https://docs.microsoft.com/en-us/windows/win32/controls/lvm-settileinfo LVM_SETTILEINFO = LVM_FIRST + 164, - /// Retrieves information about a tile in a list-view control. + /// + /// Retrieves information about a tile in a list-view control. /// Parameters /// wParam /// Must be zero. @@ -3032,6 +3069,7 @@ namespace Vanara.PInvoke /// structure that receives the retrieved information. /// Returns /// Return value not used. + /// /// /// /// Tile view is a new way of arranging and displaying items in a list-view control. The other views are icon, small icon, @@ -3048,7 +3086,8 @@ namespace Vanara.PInvoke // https://docs.microsoft.com/en-us/windows/win32/controls/lvm-gettileinfo LVM_GETTILEINFO = LVM_FIRST + 165, - /// Sets the insertion point to the defined position. + /// + /// Sets the insertion point to the defined position. /// Parameters /// wParam /// Must be zero. @@ -3062,6 +3101,7 @@ namespace Vanara.PInvoke /// member of the LVINSERTMARK structure does not equal the actual size of the structure, or when an insertion point does /// not apply in the current view. /// + /// /// /// /// An insertion point can only appear if the list-view control is in icon view, small icon view, or tile view, and is not in @@ -3078,7 +3118,8 @@ namespace Vanara.PInvoke // https://docs.microsoft.com/en-us/windows/win32/controls/lvm-setinsertmark LVM_SETINSERTMARK = LVM_FIRST + 166, - /// Retrieves the position of the insertion point. + /// + /// Retrieves the position of the insertion point. /// Parameters /// wParam /// Must be zero. @@ -3091,6 +3132,7 @@ namespace Vanara.PInvoke /// Returns TRUE if successful, or FALSE otherwise. FALSE is returned if the size in the cbSize /// member of the LVINSERTMARK structure does not equal the actual size of the structure. /// + /// /// /// /// An insertion point can appear only if the list-view control is in icon view, small icon view, or tile view, and is not in @@ -3107,7 +3149,8 @@ namespace Vanara.PInvoke // https://docs.microsoft.com/en-us/windows/win32/controls/lvm-getinsertmark LVM_GETINSERTMARK = LVM_FIRST + 167, - /// Retrieves the insertion point closest to a specified point. + /// + /// Retrieves the insertion point closest to a specified point. /// Parameters /// wParam /// Pointer to a **POINT** structure that contains the hit test coordinates. @@ -3121,6 +3164,7 @@ namespace Vanara.PInvoke /// member of the LVINSERTMARK structure does not equal the actual size of the structure, or when an insertion point does /// not apply in the current view. /// + /// /// /// /// An insertion point can only appear if the list-view control is in icon view, small icon view, or tile view and is not in @@ -3140,7 +3184,8 @@ namespace Vanara.PInvoke // https://docs.microsoft.com/en-us/windows/win32/controls/lvm-insertmarkhittest LVM_INSERTMARKHITTEST = LVM_FIRST + 168, - /// Retrieves the rectangle that bounds the insertion point. + /// + /// Retrieves the rectangle that bounds the insertion point. /// Parameters /// wParam /// Not used; must be zero. @@ -3164,6 +3209,7 @@ namespace Vanara.PInvoke /// Insertion point found. /// /// + /// /// /// Note /// @@ -3174,7 +3220,8 @@ namespace Vanara.PInvoke // https://docs.microsoft.com/en-us/windows/win32/controls/lvm-getinsertmarkrect LVM_GETINSERTMARKRECT = LVM_FIRST + 169, - /// Sets the color of the insertion point. + /// + /// Sets the color of the insertion point. /// Parameters /// wParam /// Must be zero. @@ -3182,6 +3229,7 @@ namespace Vanara.PInvoke /// **COLORREF** structure that specifies the color to set the insertion point. /// Returns /// Returns COLORREF structure set to the previous color. + /// /// /// Note /// @@ -3192,7 +3240,8 @@ namespace Vanara.PInvoke // https://docs.microsoft.com/en-us/windows/win32/controls/lvm-setinsertmarkcolor LVM_SETINSERTMARKCOLOR = LVM_FIRST + 170, - /// Retrieves the color of the insertion point. + /// + /// Retrieves the color of the insertion point. /// Parameters /// wParam /// Must be zero. @@ -3200,6 +3249,7 @@ namespace Vanara.PInvoke /// Must be zero. /// Returns /// Returns a COLORREF structure that contains the color of the insertion point. + /// /// /// Note /// @@ -3210,7 +3260,8 @@ namespace Vanara.PInvoke // https://docs.microsoft.com/en-us/windows/win32/controls/lvm-getinsertmarkcolor LVM_GETINSERTMARKCOLOR = LVM_FIRST + 171, - /// Retrieves an integer that specifies the selected column. + /// + /// Retrieves an integer that specifies the selected column. /// Parameters /// wParam /// Must be zero. @@ -3218,6 +3269,7 @@ namespace Vanara.PInvoke /// Must be zero. /// Returns /// Returns an UINT that specifies the selected column. + /// /// /// Note /// @@ -3228,7 +3280,8 @@ namespace Vanara.PInvoke // https://docs.microsoft.com/en-us/windows/win32/controls/lvm-getselectedcolumn LVM_GETSELECTEDCOLUMN = LVM_FIRST + 174, - /// Checks whether the list-view control has group view enabled. + /// + /// Checks whether the list-view control has group view enabled. /// Parameters /// wParam /// Must be zero. @@ -3236,6 +3289,7 @@ namespace Vanara.PInvoke /// Must be zero. /// Returns /// Returns TRUE if group view is enabled, or FALSE otherwise. + /// /// /// Note /// @@ -3248,7 +3302,6 @@ namespace Vanara.PInvoke /// /// Retrieves the color of the border of a list-view control if the LVS_EX_BORDERSELECT extended window style is set. - /// /// Parameters /// wParam /// Must be zero. @@ -3256,6 +3309,7 @@ namespace Vanara.PInvoke /// Must be zero. /// Returns /// Returns a COLORREF structure that contains the color of the border of a list-view control. + /// /// /// Note /// @@ -3268,7 +3322,6 @@ namespace Vanara.PInvoke /// /// Sets the color of the border of a list-view control if the LVS_EX_BORDERSELECT extended window style is set. - /// /// Parameters /// wParam /// Must be zero. @@ -3276,6 +3329,7 @@ namespace Vanara.PInvoke /// **COLORREF** structure that specifies the color to set the border. /// Returns /// Returns COLORREF structure that contains the outline color. + /// /// /// Note /// @@ -3286,12 +3340,14 @@ namespace Vanara.PInvoke // https://docs.microsoft.com/en-us/windows/win32/controls/lvm-setoutlinecolor LVM_SETOUTLINECOLOR = LVM_FIRST + 177, - /// Cancels an item text editing operation. + /// + /// Cancels an item text editing operation. /// Parameters /// wParam /// Must be zero. /// lParam /// Must be zero. + /// /// /// /// Note @@ -3305,7 +3361,8 @@ namespace Vanara.PInvoke // https://docs.microsoft.com/en-us/windows/win32/controls/lvm-canceleditlabel LVM_CANCELEDITLABEL = LVM_FIRST + 179, - /// Maps the index of an item to a unique ID. + /// + /// Maps the index of an item to a unique ID. /// Parameters /// wParam /// The index of an item. @@ -3313,6 +3370,7 @@ namespace Vanara.PInvoke /// Must be zero. /// Returns /// Returns a unique ID. + /// /// /// /// List-view controls internally track items by index. This can present problems because indexes can change during the control's lifetime. @@ -3343,7 +3401,8 @@ namespace Vanara.PInvoke // https://docs.microsoft.com/en-us/windows/win32/controls/lvm-mapindextoid LVM_MAPINDEXTOID = LVM_FIRST + 180, - /// Maps the ID of an item to an index. + /// + /// Maps the ID of an item to an index. /// Parameters /// wParam /// The unique ID of an item. @@ -3351,6 +3410,7 @@ namespace Vanara.PInvoke /// Must be zero. /// Returns /// Returns the most current index. + /// /// /// /// List-view controls internally track items by index. This can present problems because indexes can change during the control's lifetime. @@ -3389,7 +3449,6 @@ namespace Vanara.PInvoke /// /// Indicates if an item in the list-view control is visible. Send this message explicitly or by using the /// ListView_IsItemVisible macro. - /// /// Parameters /// wParam /// An index of the item in the list-view control. @@ -3397,6 +3456,7 @@ namespace Vanara.PInvoke /// Must be zero. /// Returns /// Returns TRUE if visible, or FALSE otherwise. + /// // https://docs.microsoft.com/en-us/windows/win32/controls/lvm-isitemvisible LVM_ISITEMVISIBLE = LVM_FIRST + 182, @@ -3406,7 +3466,6 @@ namespace Vanara.PInvoke /// /// Gets the text meant for display when the list-view control appears empty. Send this message explicitly or by using the /// ListView_GetEmptyText macro. - /// /// Parameters /// wParam /// The size of the buffer pointed to by lParam, including the terminating NULL. @@ -3417,13 +3476,13 @@ namespace Vanara.PInvoke /// /// Returns /// Returns TRUE if successful, or FALSE otherwise. + /// // https://docs.microsoft.com/en-us/windows/win32/controls/lvm-getemptytext LVM_GETEMPTYTEXT = LVM_FIRST + 204, /// /// Retrieves the coordinates of the footer for a list-view control. Send this message explicitly or by using the /// ListView_GetFooterRect macro. - /// /// Parameters /// wParam /// Not used. Must be 0. @@ -3434,13 +3493,13 @@ namespace Vanara.PInvoke /// /// Returns /// Returns TRUE if successful, or FALSE otherwise. + /// // https://docs.microsoft.com/en-us/windows/win32/controls/lvm-getfooterrect LVM_GETFOOTERRECT = LVM_FIRST + 205, /// /// Gets information about the footer of a list-view control. Send this message explicitly or by using the /// ListView_GetFooterInfo macro. - /// /// Parameters /// wParam /// Not used. Must be 0. @@ -3451,13 +3510,13 @@ namespace Vanara.PInvoke /// /// Returns /// Returns TRUE. + /// // https://docs.microsoft.com/en-us/windows/win32/controls/lvm-getfooterinfo LVM_GETFOOTERINFO = LVM_FIRST + 206, /// /// Gets the coordinates of a footer for a specified item in a list-view control. Send this message explicitly or by using the /// ListView_GetFooterItemRect macro. - /// /// Parameters /// wParam /// The index of the item in the list-view control. @@ -3468,13 +3527,13 @@ namespace Vanara.PInvoke /// /// Returns /// Returns TRUE if successful, or FALSE otherwise. + /// // https://docs.microsoft.com/en-us/windows/win32/controls/lvm-getfooteritemrect LVM_GETFOOTERITEMRECT = LVM_FIRST + 207, /// /// Gets information on a footer item in a list-view control. Send this message explicitly or by using the /// ListView_GetFooterItem macro. - /// /// Parameters /// wParam /// The index of the item. @@ -3486,13 +3545,13 @@ namespace Vanara.PInvoke /// /// Returns /// Returns TRUE if successful, or FALSE otherwise. + /// // https://docs.microsoft.com/en-us/windows/win32/controls/lvm-getfooteritem LVM_GETFOOTERITEM = LVM_FIRST + 208, /// /// Retrieves the bounding rectangle for all or part of a subitem in the current view of a list-view control. Send this message /// explicitly or by using the ListView_GetItemIndexRect macro. - /// /// Parameters /// wParam /// @@ -3525,12 +3584,12 @@ namespace Vanara.PInvoke /// /// Returns /// Returns TRUE if successful, or FALSE otherwise. + /// // https://docs.microsoft.com/en-us/windows/win32/controls/lvm-getitemindexrect LVM_GETITEMINDEXRECT = LVM_FIRST + 209, /// /// Sets the state of a list-view item. Send this message explicitly or by using the ListView_SetItemIndexState macro. - /// /// Parameters /// wParam /// @@ -3564,13 +3623,13 @@ namespace Vanara.PInvoke /// The operation was successful. /// /// + /// // https://docs.microsoft.com/en-us/windows/win32/controls/lvm-setitemindexstate LVM_SETITEMINDEXSTATE = LVM_FIRST + 210, /// /// Retrieves the index of an item in a specified list-view control that matches the specified properties and relationship to /// another item. Send this message explicitly or by using the ListView_GetNextItemIndex macro. - /// /// Parameters /// wParam /// @@ -3678,6 +3737,7 @@ namespace Vanara.PInvoke /// /// Returns /// Returns TRUE if successful, or FALSE otherwise. + /// /// /// Note that the following flags, for use only with Windows Vista, are mutually exclusive of any other flags in use: /// LVNI_PREVIOUS, LVNI_VISIBLEONLY, LVNI_SAMEGROUPONLY, LVNI_VISIBLEORDER, LVNI_DIRECTIONMASK, and LVNI_STATEMASK. @@ -3761,7 +3821,6 @@ namespace Vanara.PInvoke /// /// LVN_BEGINDRAG pnmv = (LPNMLISTVIEW) lParam; /// - /// /// Parameters /// lParam /// @@ -3770,6 +3829,7 @@ namespace Vanara.PInvoke /// /// Returns /// No return value. + /// // https://docs.microsoft.com/en-us/windows/win32/controls/lvn-begindrag LVN_BEGINDRAG = LVN_FIRST - 9, @@ -3781,7 +3841,6 @@ namespace Vanara.PInvoke /// /// LVN_BEGINLABELEDIT pdi = (LPNMLVDISPINFO) lParam; /// - /// /// Parameters /// lParam /// @@ -3792,6 +3851,7 @@ namespace Vanara.PInvoke /// Returns /// To allow the user to edit the label, return FALSE. /// To prevent the user from editing the label, return TRUE. + /// /// /// /// When label editing begins, an edit control is created, positioned, and initialized. Before it is displayed, the list-view @@ -3815,7 +3875,6 @@ namespace Vanara.PInvoke /// /// LVN_BEGINLABELEDIT pdi = (LPNMLVDISPINFO) lParam; /// - /// /// Parameters /// lParam /// @@ -3826,6 +3885,7 @@ namespace Vanara.PInvoke /// Returns /// To allow the user to edit the label, return FALSE. /// To prevent the user from editing the label, return TRUE. + /// /// /// /// When label editing begins, an edit control is created, positioned, and initialized. Before it is displayed, the list-view @@ -3849,7 +3909,6 @@ namespace Vanara.PInvoke /// /// LVN_BEGINLABELEDIT pdi = (LPNMLVDISPINFO) lParam; /// - /// /// Parameters /// lParam /// @@ -3860,6 +3919,7 @@ namespace Vanara.PInvoke /// Returns /// To allow the user to edit the label, return FALSE. /// To prevent the user from editing the label, return TRUE. + /// /// /// /// When label editing begins, an edit control is created, positioned, and initialized. Before it is displayed, the list-view @@ -3883,7 +3943,6 @@ namespace Vanara.PInvoke /// /// LVN_BEGINRDRAG pnmv = (LPNMLISTVIEW) lParam; /// - /// /// Parameters /// lParam /// @@ -3892,6 +3951,7 @@ namespace Vanara.PInvoke /// /// Returns /// No return value. + /// // https://docs.microsoft.com/en-us/windows/win32/controls/lvn-beginrdrag LVN_BEGINRDRAG = LVN_FIRST - 11, @@ -3903,7 +3963,6 @@ namespace Vanara.PInvoke /// /// LVN_BEGINSCROLL pnmLVScroll = (LPNMLVSCROLL) lParam; /// - /// /// Parameters /// lParam /// @@ -3911,6 +3970,7 @@ namespace Vanara.PInvoke /// /// Returns /// Return value not used. + /// /// /// Note /// @@ -3929,7 +3989,6 @@ namespace Vanara.PInvoke /// /// LVN_COLUMNCLICK pnmv = (LPNMLISTVIEW) lParam; /// - /// /// Parameters /// lParam /// @@ -3938,6 +3997,7 @@ namespace Vanara.PInvoke /// /// Returns /// No return value. + /// /// /// Using header control formats such as HDF_CHECKBOX to modify the format of column headers in a list-view control causes the /// control to send the HDN_ITEMSTATEICONCLICK notification code instead of LVN_COLUMNCLICK when a header item is clicked. @@ -3953,7 +4013,6 @@ namespace Vanara.PInvoke /// /// LVN_COLUMNDROPDOWN pnmv = (LPNMLISTVIEW) lParam; /// - /// /// Parameters /// lParam /// @@ -3968,6 +4027,7 @@ namespace Vanara.PInvoke /// /// Returns /// No return value. + /// /// /// /// The notification receiver casts lParam to retrieve the NMLISTVIEW structure. The wParam parameter contains the ID of @@ -3989,7 +4049,6 @@ namespace Vanara.PInvoke /// /// LVN_COLUMNOVERFLOWCLICK pnmv = (LPNMLISTVIEW) lParam; /// - /// /// Parameters /// lParam /// @@ -4004,6 +4063,7 @@ namespace Vanara.PInvoke /// /// Returns /// No return value. + /// /// /// /// The notification receiver casts lParam to retrieve the NMLISTVIEW structure. The wParam parameter contains the ID of @@ -4025,13 +4085,13 @@ namespace Vanara.PInvoke /// /// LVN_DELETEALLITEMS pnmv = (LPNMLISTVIEW) lParam; /// - /// /// Parameters /// lParam /// Pointer to an NMLISTVIEW structure. The iItem member is -1, and the other members are zero. /// Returns /// To suppress subsequent LVN_DELETEITEM notification codes, return TRUE. /// To receive subsequent LVN_DELETEITEM notification codes, return FALSE. + /// /// /// /// A list-view control sends the LVM_DELETEALLITEMS notification code when it is destroyed or when it receives the @@ -4054,7 +4114,6 @@ namespace Vanara.PInvoke /// /// LVN_DELETEITEM pnmv = (LPNMLISTVIEW) lParam; /// - /// /// Parameters /// lParam /// @@ -4064,6 +4123,7 @@ namespace Vanara.PInvoke /// /// Returns /// No return value. + /// /// Do not add, delete, or rearrange items in the list view while processing this notification code. // https://docs.microsoft.com/en-us/windows/win32/controls/lvn-deleteitem LVN_DELETEITEM = LVN_FIRST - 3, @@ -4076,7 +4136,6 @@ namespace Vanara.PInvoke /// /// LVN_ENDLABELEDIT pdi = (LPNMLVDISPINFO) lParam; /// - /// /// Parameters /// lParam /// @@ -4092,6 +4151,7 @@ namespace Vanara.PInvoke /// to the edited text. Return FALSE to reject the edited text and revert to the original label. /// /// If the pszText member of the LVITEM structure is NULL, the return value is ignored. + /// /// /// /// The return value of the dialog procedure is whether the message was handled. The second return value must be set by calling @@ -4114,7 +4174,6 @@ namespace Vanara.PInvoke /// /// LVN_ENDLABELEDIT pdi = (LPNMLVDISPINFO) lParam; /// - /// /// Parameters /// lParam /// @@ -4130,6 +4189,7 @@ namespace Vanara.PInvoke /// to the edited text. Return FALSE to reject the edited text and revert to the original label. /// /// If the pszText member of the LVITEM structure is NULL, the return value is ignored. + /// /// /// /// The return value of the dialog procedure is whether the message was handled. The second return value must be set by calling @@ -4152,7 +4212,6 @@ namespace Vanara.PInvoke /// /// LVN_ENDLABELEDIT pdi = (LPNMLVDISPINFO) lParam; /// - /// /// Parameters /// lParam /// @@ -4168,6 +4227,7 @@ namespace Vanara.PInvoke /// to the edited text. Return FALSE to reject the edited text and revert to the original label. /// /// If the pszText member of the LVITEM structure is NULL, the return value is ignored. + /// /// /// /// The return value of the dialog procedure is whether the message was handled. The second return value must be set by calling @@ -4190,7 +4250,6 @@ namespace Vanara.PInvoke /// /// LVN_ENDSCROLL pnmLVScroll = (LPNMLVSCROLL) lParam; /// - /// /// Parameters /// lParam /// @@ -4198,6 +4257,7 @@ namespace Vanara.PInvoke /// /// Returns /// Return value not used. + /// /// /// Note /// @@ -4216,7 +4276,6 @@ namespace Vanara.PInvoke /// /// LVN_GETDISPINFO pdi = (NMLVDISPINFO*) lParam /// - /// /// Parameters /// lParam /// @@ -4227,6 +4286,7 @@ namespace Vanara.PInvoke /// /// Returns /// No return value. + /// /// /// /// The notification receiver casts lParam to retrieve the NMLVDISPINFO structure. The wParam parameter contains the @@ -4250,7 +4310,6 @@ namespace Vanara.PInvoke /// /// LVN_GETDISPINFO pdi = (NMLVDISPINFO*) lParam /// - /// /// Parameters /// lParam /// @@ -4261,6 +4320,7 @@ namespace Vanara.PInvoke /// /// Returns /// No return value. + /// /// /// /// The notification receiver casts lParam to retrieve the NMLVDISPINFO structure. The wParam parameter contains the @@ -4284,7 +4344,6 @@ namespace Vanara.PInvoke /// /// LVN_GETDISPINFO pdi = (NMLVDISPINFO*) lParam /// - /// /// Parameters /// lParam /// @@ -4295,6 +4354,7 @@ namespace Vanara.PInvoke /// /// Returns /// No return value. + /// /// /// /// The notification receiver casts lParam to retrieve the NMLVDISPINFO structure. The wParam parameter contains the @@ -4318,7 +4378,6 @@ namespace Vanara.PInvoke /// /// LVN_GETEMPTYMARKUP pnmMarkup = (NMLVEMPTYMARKUP*) lParam; /// - /// /// Parameters /// lParam /// @@ -4326,6 +4385,7 @@ namespace Vanara.PInvoke /// /// Returns /// Return TRUE to set the markup text in the list-view control, or FALSE otherwise. + /// /// /// The notification receiver casts lParam to retrieve the NMLVEMPTYMARKUP structure. The wParam parameter contains the ID /// of the control that sends this message. @@ -4342,12 +4402,12 @@ namespace Vanara.PInvoke /// /// LVN_GETINFOTIP pGetInfoTip = (LPNMLVGETINFOTIP) lParam; /// - /// /// Parameters /// lParam /// Pointer to an NMLVGETINFOTIP structure that contains information about this notification code. /// Returns /// The return value for this notification is not used. + /// /// /// This notification code is only sent by list-view controls that have the LVS_EX_INFOTIP extended style. The /// LVN_GETINFOTIP notification code is sent only for subitem 0. @@ -4364,12 +4424,12 @@ namespace Vanara.PInvoke /// /// LVN_GETINFOTIP pGetInfoTip = (LPNMLVGETINFOTIP) lParam; /// - /// /// Parameters /// lParam /// Pointer to an NMLVGETINFOTIP structure that contains information about this notification code. /// Returns /// The return value for this notification is not used. + /// /// /// This notification code is only sent by list-view controls that have the LVS_EX_INFOTIP extended style. The /// LVN_GETINFOTIP notification code is sent only for subitem 0. @@ -4386,12 +4446,12 @@ namespace Vanara.PInvoke /// /// LVN_GETINFOTIP pGetInfoTip = (LPNMLVGETINFOTIP) lParam; /// - /// /// Parameters /// lParam /// Pointer to an NMLVGETINFOTIP structure that contains information about this notification code. /// Returns /// The return value for this notification is not used. + /// /// /// This notification code is only sent by list-view controls that have the LVS_EX_INFOTIP extended style. The /// LVN_GETINFOTIP notification code is sent only for subitem 0. @@ -4407,7 +4467,6 @@ namespace Vanara.PInvoke /// /// LVN_HOTTRACK lpnmlv = (LPNMLISTVIEW) lParam; /// - /// /// Parameters /// lParam /// @@ -4420,6 +4479,7 @@ namespace Vanara.PInvoke /// Return zero to allow the list view to perform its normal track select processing. If the application returns nonzero, the /// item will not be selected. /// + /// // https://docs.microsoft.com/en-us/windows/win32/controls/lvn-hottrack LVN_HOTTRACK = LVN_FIRST - 21, @@ -4431,7 +4491,6 @@ namespace Vanara.PInvoke /// /// LVN_INCREMENTALSEARCH pnmv = (LPNMLVFINDITEM) lParam; /// - /// /// Parameters /// lParam /// @@ -4441,6 +4500,7 @@ namespace Vanara.PInvoke /// /// Returns /// No return value. + /// /// /// /// The notification receiver casts lParam to retrieve the NMLVFINDITEM structure. The wParam parameter contains the ID of @@ -4466,7 +4526,6 @@ namespace Vanara.PInvoke /// /// LVN_INCREMENTALSEARCH pnmv = (LPNMLVFINDITEM) lParam; /// - /// /// Parameters /// lParam /// @@ -4476,6 +4535,7 @@ namespace Vanara.PInvoke /// /// Returns /// No return value. + /// /// /// /// The notification receiver casts lParam to retrieve the NMLVFINDITEM structure. The wParam parameter contains the ID of @@ -4501,7 +4561,6 @@ namespace Vanara.PInvoke /// /// LVN_INCREMENTALSEARCH pnmv = (LPNMLVFINDITEM) lParam; /// - /// /// Parameters /// lParam /// @@ -4511,6 +4570,7 @@ namespace Vanara.PInvoke /// /// Returns /// No return value. + /// /// /// /// The notification receiver casts lParam to retrieve the NMLVFINDITEM structure. The wParam parameter contains the ID of @@ -4536,7 +4596,6 @@ namespace Vanara.PInvoke /// /// LVN_INSERTITEM pnmv = (LPNMLISTVIEW) lParam; /// - /// /// Parameters /// lParam /// @@ -4544,6 +4603,7 @@ namespace Vanara.PInvoke /// /// Returns /// No return value. + /// // https://docs.microsoft.com/en-us/windows/win32/controls/lvn-insertitem LVN_INSERTITEM = LVN_FIRST - 2, @@ -4554,13 +4614,13 @@ namespace Vanara.PInvoke /// /// LVN_ITEMACTIVATE #if (_WIN32_IE >= 0x0400) lpnmia = (LPNMITEMACTIVATE)lParam; #else lpnm = (LPNMHDR)lParam; #endif /// - /// /// Parameters /// lParam /// Version 4.71. Pointer to an NMITEMACTIVATE structure that contains information about this notification code. /// Version 4.70 and earlier. Pointer to an NMHDR structure that contains information about this notification code. /// Returns /// The application receiving this notification code must return zero. + /// /// /// To obtain the items being activated, the receiving application should use the LVM_GETSELECTEDCOUNT message to retrieve /// the number of items that are selected and then send the LVM_GETNEXTITEM message with LVNI_SELECTED until all of @@ -4577,7 +4637,6 @@ namespace Vanara.PInvoke /// /// LVN_ITEMCHANGED pnmv = (LPNMLISTVIEW) lParam; /// - /// /// Parameters /// lParam /// @@ -4586,6 +4645,7 @@ namespace Vanara.PInvoke /// /// Returns /// No return value. + /// /// /// If a list-view control has the LVS_OWNERDATA style, and the user selects a range of items by holding down the SHIFT /// key and clicking the mouse, LVN_ITEMCHANGED notification codes are not sent for each selected or deselected item. Instead, @@ -4602,12 +4662,12 @@ namespace Vanara.PInvoke /// /// LVN_ITEMCHANGING pnmv = (LPNMLISTVIEW) lParam; /// - /// /// Parameters /// lParam /// Pointer to an NMLISTVIEW structure that identifies the item and specifies which of its attributes are changing. /// Returns /// Returns TRUE to prevent the change, or FALSE to allow the change. + /// /// If the list-view control has the LVS_OWNERDATA style, LVN_ITEMCHANGING notification codes are not sent. // https://docs.microsoft.com/en-us/windows/win32/controls/lvn-itemchanging LVN_ITEMCHANGING = LVN_FIRST - 0, @@ -4620,12 +4680,12 @@ namespace Vanara.PInvoke /// /// LVN_KEYDOWN pnkd = (LPNMLVKEYDOWN) lParam; /// - /// /// Parameters /// lParam /// Pointer to an NMLVKEYDOWN structure. /// Returns /// No return value. + /// // https://docs.microsoft.com/en-us/windows/win32/controls/lvn-keydown LVN_KEYDOWN = LVN_FIRST - 55, @@ -4637,7 +4697,6 @@ namespace Vanara.PInvoke /// /// LVN_LINKCLICK pLinkInfo = (NMLVLINK*) lParam; /// - /// /// Parameters /// lParam /// @@ -4645,6 +4704,7 @@ namespace Vanara.PInvoke /// /// Returns /// No return value. + /// /// /// /// The following example shows how an application might respond to this notification code in its WM_NOTIFY message @@ -4665,12 +4725,12 @@ namespace Vanara.PInvoke /// /// LVN_MARQUEEBEGIN pnmv = (LPNMLISTVIEW) lParam; /// - /// /// Parameters /// lParam /// Pointer to an NMHDR structure. /// Returns /// To accept the notification code, return zero. To quit the bounding box selection, return nonzero. + /// /// /// A bounding box selection is the process of clicking the list-view window's client area and dragging to select multiple items simultaneously. /// @@ -4686,12 +4746,12 @@ namespace Vanara.PInvoke /// /// LVN_ODCACHEHINT pCachehint = (NMLVCACHEHINT *) lParam; /// - /// /// Parameters /// lParam /// Pointer to an NMLVCACHEHINT structure containing information about the range of items to be cached. /// Returns /// The application receiving this notification code must return zero. + /// /// /// /// Handling this message allows the application to update the item information held in cache so that it is readily available @@ -4715,12 +4775,12 @@ namespace Vanara.PInvoke /// /// LVN_ODFINDITEM pFindInfo = (PNMLVFINDITEM) lParam; /// - /// /// Parameters /// lParam /// Pointer to an NMLVFINDITEM structure that includes information to be used for the search. /// Returns /// Return the index of the item found, or -1 if no item is found. + /// /// /// Search information is sent in the form of an LVFINDINFO structure, which is a member of the NMLVFINDITEM structure. /// @@ -4736,12 +4796,12 @@ namespace Vanara.PInvoke /// /// LVN_ODFINDITEM pFindInfo = (PNMLVFINDITEM) lParam; /// - /// /// Parameters /// lParam /// Pointer to an NMLVFINDITEM structure that includes information to be used for the search. /// Returns /// Return the index of the item found, or -1 if no item is found. + /// /// /// Search information is sent in the form of an LVFINDINFO structure, which is a member of the NMLVFINDITEM structure. /// @@ -4757,12 +4817,12 @@ namespace Vanara.PInvoke /// /// LVN_ODFINDITEM pFindInfo = (PNMLVFINDITEM) lParam; /// - /// /// Parameters /// lParam /// Pointer to an NMLVFINDITEM structure that includes information to be used for the search. /// Returns /// Return the index of the item found, or -1 if no item is found. + /// /// /// Search information is sent in the form of an LVFINDINFO structure, which is a member of the NMLVFINDITEM structure. /// @@ -4777,12 +4837,12 @@ namespace Vanara.PInvoke /// /// LVN_ODSTATECHANGED lpStateChange = (LPNMLVODSTATECHANGE) lParam; /// - /// /// Parameters /// lParam /// Pointer to an NMLVODSTATECHANGE structure that contains information about the item or items that have changed. /// Returns /// The application receiving this notification code must return zero. + /// // https://docs.microsoft.com/en-us/windows/win32/controls/lvn-odstatechanged LVN_ODSTATECHANGED = LVN_FIRST - 15, @@ -4794,7 +4854,6 @@ namespace Vanara.PInvoke /// /// LVN_SETDISPINFO pdi = (NMLVDISPINFO*) lParam /// - /// /// Parameters /// lParam /// @@ -4804,6 +4863,7 @@ namespace Vanara.PInvoke /// /// Returns /// No return value. + /// /// /// The notification receiver casts lParam to retrieve the NMLVDISPINFO structure. The wParam parameter contains the /// message code. @@ -4819,7 +4879,6 @@ namespace Vanara.PInvoke /// /// LVN_SETDISPINFO pdi = (NMLVDISPINFO*) lParam /// - /// /// Parameters /// lParam /// @@ -4829,6 +4888,7 @@ namespace Vanara.PInvoke /// /// Returns /// No return value. + /// /// /// The notification receiver casts lParam to retrieve the NMLVDISPINFO structure. The wParam parameter contains the /// message code. @@ -4844,7 +4904,6 @@ namespace Vanara.PInvoke /// /// LVN_SETDISPINFO pdi = (NMLVDISPINFO*) lParam /// - /// /// Parameters /// lParam /// @@ -4854,6 +4913,7 @@ namespace Vanara.PInvoke /// /// Returns /// No return value. + /// /// /// The notification receiver casts lParam to retrieve the NMLVDISPINFO structure. The wParam parameter contains the /// message code. diff --git a/PInvoke/ComCtl32/CommCtrl.Toolbar.cs b/PInvoke/ComCtl32/CommCtrl.Toolbar.cs index aa86b9e8..fa9e6a40 100644 --- a/PInvoke/ComCtl32/CommCtrl.Toolbar.cs +++ b/PInvoke/ComCtl32/CommCtrl.Toolbar.cs @@ -9,6 +9,9 @@ namespace Vanara.PInvoke /// Window class name for the Toolbar control. public const string TOOLBARCLASSNAME = "ToolbarWindow32"; + /// + public static readonly IntPtr HINST_COMMCTRL = new(-1); + private const int TBN_FIRST = -700; /// Options for CreateMappedBitmap. @@ -21,15 +24,198 @@ namespace Vanara.PInvoke CMB_MASKED = 2 } + /// Flags that indicate why the hot item has changed in NMTBHOTITEM. + [PInvokeData("Commctrl.h")] + [Flags] + public enum HICF : uint + { + /// The change in the hot item was caused by a shortcut key. + HICF_ACCELERATOR = 0x00000004, + + /// The change in the hot item was caused by an arrow key. + HICF_ARROWKEYS = 0x00000002, + + /// Modifies HICF_ACCELERATOR. If this flag is set, more than one item has the same shortcut key character. + HICF_DUPACCEL = 0x00000008, + + /// + /// Modifies the other reason flags. If this flag is set, there is no previous hot item and idOld does not contain valid information. + /// + HICF_ENTERING = 0x00000010, + + /// + /// Modifies the other reason flags. If this flag is set, there is no new hot item and idNew does not contain valid information. + /// + HICF_LEAVING = 0x00000020, + + /// The change in the hot item resulted from a left-click mouse event. + HICF_LMOUSE = 0x00000080, + + /// The change in the hot item resulted from a mouse event. + HICF_MOUSE = 0x00000001, + + /// + /// The change in the hot item resulted from an event that could not be determined. This will most often be due to a change in + /// focus or the TB_SETHOTITEM message. + /// + HICF_OTHER = 0x00000000, + + /// The change in the hot item resulted from the user entering the shortcut key for an item that was already hot. + HICF_RESELECT = 0x00000040, + + /// Version 5.80. Causes the button to switch states. + HICF_TOGGLEDROPDOWN = 0x00000100, + } + + /// Index values for IDB_HIST_LARGE_COLOR and IDB_HIST_SMALL_COLOR + [PInvokeData("Commctrl.h")] + public enum HIST + { + /// Move back. + HIST_BACK = 0, + + /// Move forward. + HIST_FORWARD = 1, + + /// Open favorites folder. + HIST_FAVORITES = 2, + + /// Add to favorites. + HIST_ADDTOFAVORITES = 3, + + /// View tree. + HIST_VIEWTREE = 4, + } + + /// Identifier of a system-defined button image list. Used by TB_LOADIMAGES. + [PInvokeData("Commctrl.h")] + public enum IDB + { + /// Standard bitmaps in small size. + IDB_STD_SMALL_COLOR = 0, + + /// Standard bitmaps in large size. + IDB_STD_LARGE_COLOR = 1, + + /// View bitmaps in small size. + IDB_VIEW_SMALL_COLOR = 4, + + /// View bitmaps in large size. + IDB_VIEW_LARGE_COLOR = 5, + + /// Windows Explorer bitmaps in small size. + IDB_HIST_SMALL_COLOR = 8, + + /// Windows Explorer bitmaps in large size. + IDB_HIST_LARGE_COLOR = 9, + + /// Windows Explorer travel buttons and favorites bitmaps in normal state. + IDB_HIST_NORMAL = 12, + + /// Windows Explorer travel buttons and favorites bitmaps in hot state. + IDB_HIST_HOT = 13, + + /// Windows Explorer travel buttons and favorites bitmaps in disabled state. + IDB_HIST_DISABLED = 14, + + /// Windows Explorer travel buttons and favorites bitmaps in pressed state. + IDB_HIST_PRESSED = 15, + } + + /// Index values for IDB_STD_LARGE_COLOR and IDB_STD_SMALL_COLOR + [PInvokeData("Commctrl.h")] + public enum STD + { + /// Cut operation. + STD_CUT = 0, + + /// Copy operation. + STD_COPY = 1, + + /// Paste operation. + STD_PASTE = 2, + + /// Undo operation. + STD_UNDO = 3, + + /// Redo operation. + STD_REDOW = 4, + + /// Delete operation. + STD_DELETE = 5, + + /// New file operation. + STD_FILENEW = 6, + + /// Open file operation. + STD_FILEOPEN = 7, + + /// Save file operation. + STD_FILESAVE = 8, + + /// Print preview operation. + STD_PRINTPRE = 9, + + /// Properties operation. + STD_PROPERTIES = 10, + + /// Help operation. + STD_HELP = 11, + + /// Find operation. + STD_FIND = 12, + + /// Replace operation. + STD_REPLACE = 13, + + /// Print operation. + STD_PRINT = 14, + } + /// /// The value your application can return depends on the current drawing stage. The dwDrawStage member of the associated /// NMCUSTOMDRAW structure holds a value that specifies the drawing stage. You must return one of the following values. /// [PInvokeData("Commctrl.h", MSDNShortId = "bb760492")] - public enum TBCDRF + [Flags] + public enum TBCDRF : uint { - /// Version 4.71. Do not draw button edges. This occurs when dwDrawStage equals CDDS_ITEMPREPAINT. - TBCDRF_NOEDGES = 0x00010000, + /// + /// The control will draw itself. It will not send any additional NM_CUSTOMDRAW notification codes for this paint cycle. This + /// occurs when dwDrawStage equals CDDS_PREPAINT. + /// + CDRF_DODEFAULT = 0x00000000, + + /// + /// Your application specified a new font for the item; the control will use the new font. For more information on changing + /// fonts, see Changing fonts and colors. This occurs when dwDrawStage equals CDDS_ITEMPREPAINT. + /// + CDRF_NEWFONT = 0x00000002, + + /// + /// Your application drew the item manually. The control will not draw the item. This occurs when dwDrawStage equals CDDS_ITEMPREPAINT. + /// + CDRF_SKIPDEFAULT = 0x00000004, + + /// The control will notify the parent after painting an item. This occurs when dwDrawStage equals CDDS_PREPAINT. + CDRF_NOTIFYPOSTPAINT = 0x00000010, + + /// + /// The control will notify the parent of any item-related drawing operations. It will send NM_CUSTOMDRAW notification codes + /// before and after drawing items. This occurs when dwDrawStage equals CDDS_PREPAINT. + /// + CDRF_NOTIFYITEMDRAW = 0x00000020, + + /// + /// Version 4.71. The control will notify the parent when a list-view subitem is being drawn. This occurs when dwDrawStage equals CDDS_PREPAINT. + /// + CDRF_NOTIFYSUBITEMDRAW = 0x00000020, + + /// The control will notify the parent after erasing an item. This occurs when dwDrawStage equals CDDS_PREPAINT. + CDRF_NOTIFYPOSTERASE = 0x00000040, + + /// Version 5.00. Blend the button 50 percent with the background. This occurs when dwDrawStage equals CDDS_ITEMPREPAINT. + TBCDRF_BLENDICON = 0x00200000, /// /// Version 4.71. Use the clrHighlightHotTrack member of the NMTBCUSTOMDRAW structure to draw the background of hot-tracked @@ -37,25 +223,115 @@ namespace Vanara.PInvoke /// TBCDRF_HILITEHOTTRACK = 0x00020000, - /// Version 4.71. Do not offset the button when pressed. This occurs when dwDrawStage equals CDDS_ITEMPREPAINT. - TBCDRF_NOOFFSET = 0x00040000, + /// Version 5.00. Do not draw button background. This occurs when dwDrawStage equals CDDS_ITEMPREPAINT. + TBCDRF_NOBACKGROUND = 0x00400000, - /// Do not draw default highlight of items that have the TBSTATE_MARKED. This occurs when dwDrawStage equals CDDS_ITEMPREPAINT. - TBCDRF_NOMARK = 0x00080000, + /// Version 4.71. Do not draw button edges. This occurs when dwDrawStage equals CDDS_ITEMPREPAINT. + TBCDRF_NOEDGES = 0x00010000, /// Version 4.71. Do not draw etched effect for disabled items. This occurs when dwDrawStage equals CDDS_ITEMPREPAINT. TBCDRF_NOETCHEDEFFECT = 0x00100000, - /// Version 5.00. Blend the button 50 percent with the background. This occurs when dwDrawStage equals CDDS_ITEMPREPAINT. - TBCDRF_BLENDICON = 0x00200000, + /// Do not draw default highlight of items that have the TBSTATE_MARKED. This occurs when dwDrawStage equals CDDS_ITEMPREPAINT. + TBCDRF_NOMARK = 0x00080000, - /// Version 5.00. Do not draw button background. This occurs when dwDrawStage equals CDDS_ITEMPREPAINT. - TBCDRF_NOBACKGROUND = 0x00400000, + /// Version 4.71. Do not offset the button when pressed. This occurs when dwDrawStage equals CDDS_ITEMPREPAINT. + TBCDRF_NOOFFSET = 0x00040000, /// Version 6.00, Windows Vista only. Use custom draw colors to render text regardless of visual style. TBCDRF_USECDCOLORS = 0x00800000, } + /// Return value from TBN_DROPDOWN. + [PInvokeData("Commctrl.h")] + public enum TBDDRET + { + /// The drop-down was handled. + TBDDRET_DEFAULT = 0, + + /// The drop-down was not handled. + TBDDRET_NODEFAULT = 1, + + /// The drop-down was handled, but treat the button like a regular button. + TBDDRET_TREATPRESSED = 2, + } + + /// Flags used by TBBUTTONINFO. + [PInvokeData("Commctrl.h")] + [Flags] + public enum TBIF : uint + { + /// Version 5.80. The wParam sent with a TB_GETBUTTONINFO or TB_SETBUTTONINFO message is an index, not an identifier. + TBIF_BYINDEX = 0x80000000, + + /// The idCommand member contains valid information or is being requested. + TBIF_COMMAND = 0x00000020, + + /// The iImage member contains valid information or is being requested. + TBIF_IMAGE = 0x00000001, + + /// The lParam member contains valid information or is being requested. + TBIF_LPARAM = 0x00000010, + + /// The cx member contains valid information or is being requested. + TBIF_SIZE = 0x00000040, + + /// The fsState member contains valid information or is being requested. + TBIF_STATE = 0x00000004, + + /// The fsStyle member contains valid information or is being requested. + TBIF_STYLE = 0x00000008, + + /// The pszText member contains valid information or is being requested. + TBIF_TEXT = 0x00000002, + } + + /// Defines where the insertion mark is in relation to iButton in TBINSERTMARK. + [PInvokeData("Commctrl.h")] + [Flags] + public enum TBIMHT : uint + { + /// The insertion mark is to the right of the specified button. + TBIMHT_AFTER = 0x00000001, + + /// + /// The insertion mark is on the background of the toolbar. This flag is only used with the TB_INSERTMARKHITTEST message. + /// + TBIMHT_BACKGROUND = 0x00000002, + } + + /// Mask that determines the metric to retrieve in TBMETRICS. + [PInvokeData("Commctrl.h")] + [Flags] + public enum TBMF : uint + { + /// Retrieve the cxPad and cyPad values. + TBMF_PAD = 0x00000001, + + /// Retrieve the cxBarPad and cyBarPad values. + TBMF_BARPAD = 0x00000002, + + /// Retrieve the cxButtonSpacing and cyButtonSpacing values. + TBMF_BUTTONSPACING = 0x00000004, + } + + /// Set of flags that indicate which members of NMTBDISPINFO are being requested. + [PInvokeData("Commctrl.h")] + [Flags] + public enum TBNF : uint + { + /// The item's image index is being requested. The image index must be placed in the iImage member. + TBNF_IMAGE = 0x00000001, + + /// Not currently implemented. + TBNF_TEXT = 0x00000002, + + /// + /// Set this flag when processing TBN_GETDISPINFO; the toolbar control will retain the supplied information and not request it again. + /// + TBNF_DI_SETITEM = 0x10000000, + } + /// State values used by TB_GETSTATE and TB_SETSTATE. [PInvokeData("Commctrl.h")] [Flags] @@ -90,7 +366,8 @@ namespace Vanara.PInvoke [PInvokeData("Commctrl.h")] public enum ToolbarMessage { - /// Checks or unchecks a given button in a toolbar. + /// + /// Checks or unchecks a given button in a toolbar. /// Parameters /// wParam /// Command identifier of the button to check. @@ -101,11 +378,13 @@ namespace Vanara.PInvoke /// /// Returns /// Returns TRUE if successful, or FALSE otherwise. + /// /// When a button is checked, it is displayed in the pressed state. // https://docs.microsoft.com/en-us/windows/win32/controls/tb-checkbutton TB_CHECKBUTTON = WindowMessage.WM_USER + 2, - /// Presses or releases the specified button in a toolbar. + /// + /// Presses or releases the specified button in a toolbar. /// Parameters /// wParam /// Command identifier of the button to press or release. @@ -117,10 +396,12 @@ namespace Vanara.PInvoke /// The HIWORD must be zero. /// Returns /// Returns TRUE if successful, or FALSE otherwise. + /// // https://docs.microsoft.com/en-us/windows/win32/controls/tb-pressbutton TB_PRESSBUTTON = WindowMessage.WM_USER + 3, - /// Hides or shows the specified button in a toolbar. + /// + /// Hides or shows the specified button in a toolbar. /// Parameters /// wParam /// Command identifier of the button to hide or show. @@ -132,10 +413,12 @@ namespace Vanara.PInvoke /// The HIWORD must be zero. /// Returns /// Returns TRUE if successful, or FALSE otherwise. + /// // https://docs.microsoft.com/en-us/windows/win32/controls/tb-hidebutton TB_HIDEBUTTON = WindowMessage.WM_USER + 4, - /// Sets or clears the indeterminate state of the specified button in a toolbar. + /// + /// Sets or clears the indeterminate state of the specified button in a toolbar. /// Parameters /// wParam /// Command identifier of the button whose indeterminate state is to be set or cleared. @@ -147,10 +430,12 @@ namespace Vanara.PInvoke /// The HIWORD must be zero. /// Returns /// Returns TRUE if successful, or FALSE otherwise. + /// // https://docs.microsoft.com/en-us/windows/win32/controls/tb-indeterminate TB_INDETERMINATE = WindowMessage.WM_USER + 5, - /// Sets the highlight state of a given button in a toolbar control. + /// + /// Sets the highlight state of a given button in a toolbar control. /// Parameters /// wParam /// Command identifier for a toolbar button. @@ -162,10 +447,12 @@ namespace Vanara.PInvoke /// The HIWORD must be zero. /// Returns /// Returns nonzero if successful, or zero otherwise. + /// // https://docs.microsoft.com/en-us/windows/win32/controls/tb-markbutton TB_MARKBUTTON = WindowMessage.WM_USER + 6, - /// Determines whether the specified button in a toolbar is enabled. + /// + /// Determines whether the specified button in a toolbar is enabled. /// Parameters /// wParam /// Command identifier of the button. @@ -173,10 +460,12 @@ namespace Vanara.PInvoke /// Must be zero. /// Returns /// Returns nonzero if the button is enabled, or zero otherwise. + /// // https://docs.microsoft.com/en-us/windows/win32/controls/tb-isbuttonenabled TB_ISBUTTONENABLED = WindowMessage.WM_USER + 9, - /// Determines whether the specified button in a toolbar is checked. + /// + /// Determines whether the specified button in a toolbar is checked. /// Parameters /// wParam /// Command identifier of the button. @@ -184,10 +473,12 @@ namespace Vanara.PInvoke /// Must be zero. /// Returns /// Returns nonzero if the button is checked, or zero otherwise. + /// // https://docs.microsoft.com/en-us/windows/win32/controls/tb-isbuttonchecked TB_ISBUTTONCHECKED = WindowMessage.WM_USER + 10, - /// Determines whether the specified button in a toolbar is pressed. + /// + /// Determines whether the specified button in a toolbar is pressed. /// Parameters /// wParam /// Command identifier of the button. @@ -195,10 +486,12 @@ namespace Vanara.PInvoke /// Must be zero. /// Returns /// Returns nonzero if the button is pressed, or zero otherwise. + /// // https://docs.microsoft.com/en-us/windows/win32/controls/tb-isbuttonpressed TB_ISBUTTONPRESSED = WindowMessage.WM_USER + 11, - /// Determines whether the specified button in a toolbar is hidden. + /// + /// Determines whether the specified button in a toolbar is hidden. /// Parameters /// wParam /// Command identifier of the button. @@ -206,10 +499,12 @@ namespace Vanara.PInvoke /// Must be zero. /// Returns /// Returns nonzero if the button is hidden, or zero otherwise. + /// // https://docs.microsoft.com/en-us/windows/win32/controls/tb-isbuttonhidden TB_ISBUTTONHIDDEN = WindowMessage.WM_USER + 12, - /// Determines whether the specified button in a toolbar is indeterminate. + /// + /// Determines whether the specified button in a toolbar is indeterminate. /// Parameters /// wParam /// Command identifier of the button. @@ -217,10 +512,12 @@ namespace Vanara.PInvoke /// Must be zero. /// Returns /// Returns nonzero if the button is indeterminate, or zero otherwise. + /// // https://docs.microsoft.com/en-us/windows/win32/controls/tb-isbuttonindeterminate TB_ISBUTTONINDETERMINATE = WindowMessage.WM_USER + 13, - /// Checks the highlight state of a toolbar button. + /// + /// Checks the highlight state of a toolbar button. /// Parameters /// wParam /// Command identifier for a toolbar button. @@ -228,10 +525,12 @@ namespace Vanara.PInvoke /// Must be zero. /// Returns /// Returns nonzero if the button is highlighted, or zero otherwise. + /// // https://docs.microsoft.com/en-us/windows/win32/controls/tb-isbuttonhighlighted TB_ISBUTTONHIGHLIGHTED = WindowMessage.WM_USER + 14, - /// Sets the state for the specified button in a toolbar. + /// + /// Sets the state for the specified button in a toolbar. /// Parameters /// wParam /// Command identifier of the button. @@ -239,12 +538,12 @@ namespace Vanara.PInvoke /// The LOWORD is a combination of values listed in Toolbar Button States. The HIWORD must be zero. /// Returns /// Returns TRUE if successful, or FALSE otherwise. + /// // https://docs.microsoft.com/en-us/windows/win32/controls/tb-setstate TB_SETSTATE = WindowMessage.WM_USER + 17, /// /// Retrieves information about the state of the specified button in a toolbar, such as whether it is enabled, pressed, or checked. - /// /// Parameters /// wParam /// Command identifier of the button for which to retrieve information. @@ -255,10 +554,12 @@ namespace Vanara.PInvoke /// Returns the button state information if successful, or -1 otherwise. The button state information can be a combination of the /// values listed in Toolbar Button States. /// + /// // https://docs.microsoft.com/en-us/windows/win32/controls/tb-getstate TB_GETSTATE = WindowMessage.WM_USER + 18, - /// Adds one or more images to the list of button images available for a toolbar. + /// + /// Adds one or more images to the list of button images available for a toolbar. /// Parameters /// wParam /// Number of button images in the bitmap. If lParam specifies a system-defined bitmap, this parameter is ignored. @@ -269,6 +570,7 @@ namespace Vanara.PInvoke /// /// Returns /// Returns the index of the first new image if successful, or -1 otherwise. + /// /// /// If the toolbar was created using the CreateWindowEx function, you must send the TB_BUTTONSTRUCTSIZE message to /// the toolbar before sending TB_ADDBITMAP. @@ -276,7 +578,8 @@ namespace Vanara.PInvoke // https://docs.microsoft.com/en-us/windows/win32/controls/tb-addbitmap TB_ADDBITMAP = WindowMessage.WM_USER + 19, - /// Adds one or more buttons to a toolbar. + /// + /// Adds one or more buttons to a toolbar. /// Parameters /// wParam /// Number of buttons to add. @@ -287,6 +590,7 @@ namespace Vanara.PInvoke /// /// Returns /// Returns TRUE if successful, or FALSE otherwise. + /// /// /// /// If the toolbar was created using the CreateWindowEx function, you must send the TB_BUTTONSTRUCTSIZE message to @@ -297,7 +601,8 @@ namespace Vanara.PInvoke // https://docs.microsoft.com/en-us/windows/win32/controls/tb-addbuttons TB_ADDBUTTONSA = WindowMessage.WM_USER + 20, - /// Inserts a button in a toolbar. + /// + /// Inserts a button in a toolbar. /// Parameters /// wParam /// Zero-based index of a button. The message inserts the new button to the left of this button. @@ -305,10 +610,12 @@ namespace Vanara.PInvoke /// Pointer to a TBBUTTON structure containing information about the button to insert. /// Returns /// Returns TRUE if successful, or FALSE otherwise. + /// // https://docs.microsoft.com/en-us/windows/win32/controls/tb-insertbutton TB_INSERTBUTTONA = WindowMessage.WM_USER + 21, - /// Deletes a button from the toolbar. + /// + /// Deletes a button from the toolbar. /// Parameters /// wParam /// Zero-based index of the button to delete. @@ -316,10 +623,12 @@ namespace Vanara.PInvoke /// Must be zero. /// Returns /// Returns TRUE if successful, or FALSE otherwise. + /// // https://docs.microsoft.com/en-us/windows/win32/controls/tb-deletebutton TB_DELETEBUTTON = WindowMessage.WM_USER + 22, - /// Retrieves information about the specified button in a toolbar. + /// + /// Retrieves information about the specified button in a toolbar. /// Parameters /// wParam /// Zero-based index of the button for which to retrieve information. @@ -327,10 +636,12 @@ namespace Vanara.PInvoke /// Pointer to the TBBUTTON structure that receives the button information. /// Returns /// Returns TRUE if successful, or FALSE otherwise. + /// // https://docs.microsoft.com/en-us/windows/win32/controls/tb-getbutton TB_GETBUTTON = WindowMessage.WM_USER + 23, - /// Retrieves a count of the buttons currently in the toolbar. + /// + /// Retrieves a count of the buttons currently in the toolbar. /// Parameters /// wParam /// Must be zero. @@ -338,10 +649,12 @@ namespace Vanara.PInvoke /// Must be zero. /// Returns /// Returns the count of the buttons. + /// // https://docs.microsoft.com/en-us/windows/win32/controls/tb-buttoncount TB_BUTTONCOUNT = WindowMessage.WM_USER + 24, - /// Retrieves the zero-based index for the button associated with the specified command identifier. + /// + /// Retrieves the zero-based index for the button associated with the specified command identifier. /// Parameters /// wParam /// Command identifier associated with the button. @@ -349,10 +662,12 @@ namespace Vanara.PInvoke /// Must be zero. /// Returns /// Returns the zero-based index for the button or -1 if the specified command identifier is invalid. + /// // https://docs.microsoft.com/en-us/windows/win32/controls/tb-commandtoindex TB_COMMANDTOINDEX = WindowMessage.WM_USER + 25, - /// Send this message to initiate saving or restoring a toolbar state. + /// + /// Send this message to initiate saving or restoring a toolbar state. /// Parameters /// wParam /// @@ -364,6 +679,7 @@ namespace Vanara.PInvoke /// /// Returns /// No return value. + /// /// /// /// For version 4.72 and earlier, to use this message to save or restore a toolbar, the parent window of the toolbar control must @@ -379,7 +695,8 @@ namespace Vanara.PInvoke // https://docs.microsoft.com/en-us/windows/win32/controls/tb-saverestore TB_SAVERESTOREA = WindowMessage.WM_USER + 26, - /// Send this message to initiate saving or restoring a toolbar state. + /// + /// Send this message to initiate saving or restoring a toolbar state. /// Parameters /// wParam /// @@ -391,6 +708,7 @@ namespace Vanara.PInvoke /// /// Returns /// No return value. + /// /// /// /// For version 4.72 and earlier, to use this message to save or restore a toolbar, the parent window of the toolbar control must @@ -406,7 +724,8 @@ namespace Vanara.PInvoke // https://docs.microsoft.com/en-us/windows/win32/controls/tb-saverestore TB_SAVERESTOREW = WindowMessage.WM_USER + 76, - /// Displays the Customize Toolbar dialog box. + /// + /// Displays the Customize Toolbar dialog box. /// Parameters /// wParam /// Must be zero. @@ -414,6 +733,7 @@ namespace Vanara.PInvoke /// Must be zero. /// Returns /// No return value. + /// /// /// Note /// @@ -424,7 +744,8 @@ namespace Vanara.PInvoke // https://docs.microsoft.com/en-us/windows/win32/controls/tb-customize TB_CUSTOMIZE = WindowMessage.WM_USER + 27, - /// Adds a new string to the toolbar's string pool. + /// + /// Adds a new string to the toolbar's string pool. /// Parameters /// wParam /// @@ -435,6 +756,7 @@ namespace Vanara.PInvoke /// Resource identifier for the string resource, or a pointer to a TCHAR array. See Remarks. /// Returns /// Returns the index of the first new string if successful, or -1 otherwise. + /// /// /// /// If wParam is NULL, lParam points to a character array with one or more null-terminated strings. The last string in the @@ -450,7 +772,8 @@ namespace Vanara.PInvoke // https://docs.microsoft.com/en-us/windows/win32/controls/tb-addstring TB_ADDSTRINGA = WindowMessage.WM_USER + 28, - /// Adds a new string to the toolbar's string pool. + /// + /// Adds a new string to the toolbar's string pool. /// Parameters /// wParam /// @@ -461,6 +784,7 @@ namespace Vanara.PInvoke /// Resource identifier for the string resource, or a pointer to a TCHAR array. See Remarks. /// Returns /// Returns the index of the first new string if successful, or -1 otherwise. + /// /// /// /// If wParam is NULL, lParam points to a character array with one or more null-terminated strings. The last string in the @@ -476,7 +800,8 @@ namespace Vanara.PInvoke // https://docs.microsoft.com/en-us/windows/win32/controls/tb-addstring TB_ADDSTRINGW = WindowMessage.WM_USER + 77, - /// Retrieves the bounding rectangle of a button in a toolbar. + /// + /// Retrieves the bounding rectangle of a button in a toolbar. /// Parameters /// wParam /// Zero-based index of the button for which to retrieve information. @@ -484,13 +809,15 @@ namespace Vanara.PInvoke /// Pointer to a RECT structure that receives the client coordinates of the bounding rectangle. /// Returns /// Returns TRUE if successful, or FALSE otherwise. + /// /// /// This message does not retrieve the bounding rectangle for buttons whose state is set to the TBSTATE_HIDDEN value. /// // https://docs.microsoft.com/en-us/windows/win32/controls/tb-getitemrect TB_GETITEMRECT = WindowMessage.WM_USER + 29, - /// Specifies the size of the TBBUTTON structure. + /// + /// Specifies the size of the TBBUTTON structure. /// Parameters /// wParam /// Size, in bytes, of the TBBUTTON structure. @@ -498,6 +825,7 @@ namespace Vanara.PInvoke /// Must be zero. /// Returns /// No return value. + /// /// /// The system uses the size to determine which version of the common control dynamic-link library (DLL) is being used. /// @@ -509,7 +837,8 @@ namespace Vanara.PInvoke // https://docs.microsoft.com/en-us/windows/win32/controls/tb-buttonstructsize TB_BUTTONSTRUCTSIZE = WindowMessage.WM_USER + 30, - /// Sets the size of buttons on a toolbar. + /// + /// Sets the size of buttons on a toolbar. /// Parameters /// wParam /// Must be zero. @@ -519,6 +848,7 @@ namespace Vanara.PInvoke /// /// Returns /// Returns TRUE if successful, or FALSE otherwise. + /// /// /// TB_SETBUTTONSIZE should generally be called after adding buttons. /// @@ -529,7 +859,8 @@ namespace Vanara.PInvoke // https://docs.microsoft.com/en-us/windows/win32/controls/tb-setbuttonsize TB_SETBUTTONSIZE = WindowMessage.WM_USER + 31, - /// Sets the size of the bitmapped images to be added to a toolbar. + /// + /// Sets the size of the bitmapped images to be added to a toolbar. /// Parameters /// wParam /// Must be zero. @@ -540,6 +871,7 @@ namespace Vanara.PInvoke /// /// Returns /// Returns TRUE if successful, or FALSE otherwise. + /// /// /// The size can be set only before adding any bitmaps to the toolbar. If an application does not explicitly set the bitmap size, /// the size defaults to 16 by 15 pixels. @@ -547,7 +879,8 @@ namespace Vanara.PInvoke // https://docs.microsoft.com/en-us/windows/win32/controls/tb-setbitmapsize TB_SETBITMAPSIZE = WindowMessage.WM_USER + 32, - /// Causes a toolbar to be resized. + /// + /// Causes a toolbar to be resized. /// Parameters /// wParam /// Must be zero. @@ -555,6 +888,7 @@ namespace Vanara.PInvoke /// Must be zero. /// Returns /// No return value. + /// /// /// An application sends the TB_AUTOSIZE message after causing the size of a toolbar to change either by setting the /// button or bitmap size or by adding strings for the first time. @@ -562,7 +896,8 @@ namespace Vanara.PInvoke // https://docs.microsoft.com/en-us/windows/win32/controls/tb-autosize TB_AUTOSIZE = WindowMessage.WM_USER + 33, - /// Retrieves the handle to the tooltip control, if any, associated with the toolbar. + /// + /// Retrieves the handle to the tooltip control, if any, associated with the toolbar. /// Parameters /// wParam /// Must be zero. @@ -570,10 +905,12 @@ namespace Vanara.PInvoke /// Must be zero. /// Returns /// Returns the handle to the tooltip control, or NULL if the toolbar has no associated tooltip. + /// // https://docs.microsoft.com/en-us/windows/win32/controls/tb-gettooltips TB_GETTOOLTIPS = WindowMessage.WM_USER + 35, - /// Associates a tooltip control with a toolbar. + /// + /// Associates a tooltip control with a toolbar. /// Parameters /// wParam /// Handle to the tooltip control. @@ -581,13 +918,15 @@ namespace Vanara.PInvoke /// Must be zero. /// Returns /// No return value. + /// /// /// Any buttons added to a toolbar before sending the TB_SETTOOLTIPS message will not be registered with the tooltip control. /// // https://docs.microsoft.com/en-us/windows/win32/controls/tb-settooltips TB_SETTOOLTIPS = WindowMessage.WM_USER + 36, - /// Sets the window to which the toolbar control sends notification messages. + /// + /// Sets the window to which the toolbar control sends notification messages. /// Parameters /// wParam /// Handle to the window to receive notification messages. @@ -597,6 +936,7 @@ namespace Vanara.PInvoke /// /// The return value is a handle to the previous notification window, or NULL if there is no previous notification window. /// + /// /// /// The TB_SETPARENT message does not change the parent window that was specified when the control was created. Calling /// the GetParent function for a toolbar control will return the actual parent window, not the window specified in @@ -605,7 +945,8 @@ namespace Vanara.PInvoke // https://docs.microsoft.com/en-us/windows/win32/controls/tb-setparent TB_SETPARENT = WindowMessage.WM_USER + 37, - /// Sets the number of rows of buttons in a toolbar. + /// + /// Sets the number of rows of buttons in a toolbar. /// Parameters /// wParam /// @@ -621,6 +962,7 @@ namespace Vanara.PInvoke /// Pointer to a RECT structure that receives the bounding rectangle of the toolbar after the rows are set. /// Returns /// No return value. + /// /// /// Because the system does not break up button groups when setting the number of rows, the resulting number of rows might differ /// from the number requested. @@ -628,7 +970,8 @@ namespace Vanara.PInvoke // https://docs.microsoft.com/en-us/windows/win32/controls/tb-setrows TB_SETROWS = WindowMessage.WM_USER + 39, - /// Retrieves the number of rows of buttons in a toolbar with the TBSTYLE_WRAPABLE style. + /// + /// Retrieves the number of rows of buttons in a toolbar with the TBSTYLE_WRAPABLE style. /// Parameters /// wParam /// Must be zero. @@ -636,10 +979,12 @@ namespace Vanara.PInvoke /// Must be zero. /// Returns /// Returns the number of rows. + /// // https://docs.microsoft.com/en-us/windows/win32/controls/tb-getrows TB_GETROWS = WindowMessage.WM_USER + 40, - /// Retrieves the flags that describe the type of bitmap to be used. + /// + /// Retrieves the flags that describe the type of bitmap to be used. /// Parameters /// wParam /// Must be zero. @@ -651,6 +996,7 @@ namespace Vanara.PInvoke /// flag set, applications should use large bitmaps (24 x 24); otherwise, applications should use small bitmaps (16 x 16). All /// other bits are reserved. /// + /// /// /// The value returned by TB_GETBITMAPFLAGS is only advisory. The toolbar control recommends large or small bitmaps based /// upon whether the user has chosen large or small fonts. @@ -658,7 +1004,8 @@ namespace Vanara.PInvoke // https://docs.microsoft.com/en-us/windows/win32/controls/tb-getbitmapflags TB_GETBITMAPFLAGS = WindowMessage.WM_USER + 41, - /// Sets the command identifier of a toolbar button. + /// + /// Sets the command identifier of a toolbar button. /// Parameters /// wParam /// Zero-based index of the button whose command identifier is to be set. @@ -666,10 +1013,12 @@ namespace Vanara.PInvoke /// Command identifier. /// Returns /// Returns TRUE if successful, or FALSE otherwise. + /// // https://docs.microsoft.com/en-us/windows/win32/controls/tb-setcmdid TB_SETCMDID = WindowMessage.WM_USER + 42, - /// Changes the bitmap for a button in a toolbar. + /// + /// Changes the bitmap for a button in a toolbar. /// Parameters /// wParam /// Command identifier of the button that is to receive a new bitmap. @@ -685,10 +1034,12 @@ namespace Vanara.PInvoke /// /// Returns /// Returns TRUE if successful, or FALSE otherwise. + /// // https://docs.microsoft.com/en-us/windows/win32/controls/tb-changebitmap TB_CHANGEBITMAP = WindowMessage.WM_USER + 43, - /// Retrieves the index of the bitmap associated with a button in a toolbar. + /// + /// Retrieves the index of the bitmap associated with a button in a toolbar. /// Parameters /// wParam /// Command identifier of the button whose bitmap index is to be retrieved. @@ -696,10 +1047,12 @@ namespace Vanara.PInvoke /// Must be zero. /// Returns /// Returns the index of the bitmap if successful, or zero otherwise. + /// // https://docs.microsoft.com/en-us/windows/win32/controls/tb-getbitmap TB_GETBITMAP = WindowMessage.WM_USER + 44, - /// Retrieves the display text of a button on a toolbar. + /// + /// Retrieves the display text of a button on a toolbar. /// Parameters /// wParam /// Command identifier of the button whose text is to be retrieved. @@ -710,6 +1063,7 @@ namespace Vanara.PInvoke /// Returns the length, in characters, of the string pointed to by lParam. The length does not include the terminating null /// character. If unsuccessful, the return value is -1. /// + /// /// /// /// Security Warning: Using this message incorrectly might compromise the security of your program. This message does not @@ -722,7 +1076,8 @@ namespace Vanara.PInvoke // https://docs.microsoft.com/en-us/windows/win32/controls/tb-getbuttontext TB_GETBUTTONTEXTA = WindowMessage.WM_USER + 45, - /// Retrieves the display text of a button on a toolbar. + /// + /// Retrieves the display text of a button on a toolbar. /// Parameters /// wParam /// Command identifier of the button whose text is to be retrieved. @@ -733,6 +1088,7 @@ namespace Vanara.PInvoke /// Returns the length, in characters, of the string pointed to by lParam. The length does not include the terminating null /// character. If unsuccessful, the return value is -1. /// + /// /// /// /// Security Warning: Using this message incorrectly might compromise the security of your program. This message does not @@ -745,7 +1101,8 @@ namespace Vanara.PInvoke // https://docs.microsoft.com/en-us/windows/win32/controls/tb-getbuttontext TB_GETBUTTONTEXTW = WindowMessage.WM_USER + 75, - /// Replaces an existing bitmap with a new bitmap. + /// + /// Replaces an existing bitmap with a new bitmap. /// Parameters /// wParam /// Must be zero. @@ -755,10 +1112,12 @@ namespace Vanara.PInvoke /// /// Returns /// Returns nonzero if successful, or zero otherwise. + /// // https://docs.microsoft.com/en-us/windows/win32/controls/tb-replacebitmap TB_REPLACEBITMAP = WindowMessage.WM_USER + 46, - /// Sets the indentation for the first button in a toolbar control. + /// + /// Sets the indentation for the first button in a toolbar control. /// Parameters /// wParam /// Value specifying the indentation, in pixels. @@ -766,10 +1125,12 @@ namespace Vanara.PInvoke /// Must be zero. /// Returns /// Returns nonzero if successful, or zero otherwise. + /// // https://docs.microsoft.com/en-us/windows/win32/controls/tb-setindent TB_SETINDENT = WindowMessage.WM_USER + 47, - /// Sets the image list that the toolbar uses to display buttons that are in their default state. + /// + /// Sets the image list that the toolbar uses to display buttons that are in their default state. /// Parameters /// wParam /// @@ -783,6 +1144,7 @@ namespace Vanara.PInvoke /// Returns the handle to the image list previously used to display buttons in their default state, or NULL if no image /// list was previously set. /// + /// /// /// /// Note @@ -855,7 +1217,6 @@ namespace Vanara.PInvoke /// /// Retrieves the image list that a toolbar control uses to display buttons in their default state. A toolbar control uses this /// image list to display buttons when they are not hot or disabled. - /// /// Parameters /// wParam /// Must be zero. @@ -863,10 +1224,12 @@ namespace Vanara.PInvoke /// Must be zero. /// Returns /// Returns the handle to the image list, or NULL if no image list is set. + /// // https://docs.microsoft.com/en-us/windows/win32/controls/tb-getimagelist TB_GETIMAGELIST = WindowMessage.WM_USER + 49, - /// Loads system-defined button images into a toolbar control's image list. + /// + /// Loads system-defined button images into a toolbar control's image list. /// Parameters /// wParam /// Identifier of a system-defined button image list. This parameter can be set to one of the following values. @@ -922,6 +1285,7 @@ namespace Vanara.PInvoke /// /// The count of images in the image list. Returns zero if the toolbar has no image list or if the existing image list is empty. /// + /// /// /// You must use the proper image index values when you prepare TBBUTTON structures prior to sending the /// TB_ADDBUTTONS message. For a list of image index values for these preset bitmaps, see Toolbar Standard Button Image @@ -930,7 +1294,8 @@ namespace Vanara.PInvoke // https://docs.microsoft.com/en-us/windows/win32/controls/tb-loadimages TB_LOADIMAGES = WindowMessage.WM_USER + 50, - /// Retrieves the bounding rectangle for a specified toolbar button. + /// + /// Retrieves the bounding rectangle for a specified toolbar button. /// Parameters /// wParam /// Command identifier of the button. @@ -938,13 +1303,15 @@ namespace Vanara.PInvoke /// Pointer to a RECT structure that will receive the bounding rectangle information. /// Returns /// Returns nonzero if successful, or zero otherwise. + /// /// /// This message does not retrieve the bounding rectangle for buttons whose state is set to the TBSTATE_HIDDEN value. /// // https://docs.microsoft.com/en-us/windows/win32/controls/tb-getrect TB_GETRECT = WindowMessage.WM_USER + 51, - /// Sets the image list that the toolbar control will use to display hot buttons. + /// + /// Sets the image list that the toolbar control will use to display hot buttons. /// Parameters /// wParam /// Must be zero. @@ -954,6 +1321,7 @@ namespace Vanara.PInvoke /// /// Returns the handle to the image list previously used to display hot buttons, or NULL if no image list was previously set. /// + /// /// /// A button is hot when the cursor is over it. Toolbar controls must have the TBSTYLE_FLAT or TBSTYLE_LIST style /// to have hot items. @@ -961,7 +1329,8 @@ namespace Vanara.PInvoke // https://docs.microsoft.com/en-us/windows/win32/controls/tb-sethotimagelist TB_SETHOTIMAGELIST = WindowMessage.WM_USER + 52, - /// Retrieves the image list that a toolbar control uses to display hot buttons. + /// + /// Retrieves the image list that a toolbar control uses to display hot buttons. /// Parameters /// wParam /// Must be zero. @@ -971,6 +1340,7 @@ namespace Vanara.PInvoke /// /// Returns the handle to the image list that the control uses to display hot buttons, or NULL if no hot image list is set. /// + /// /// /// A button is hot when the cursor is over it. Toolbar controls must have the TBSTYLE_FLAT or TBSTYLE_LIST style /// to have hot items. @@ -978,7 +1348,8 @@ namespace Vanara.PInvoke // https://docs.microsoft.com/en-us/windows/win32/controls/tb-gethotimagelist TB_GETHOTIMAGELIST = WindowMessage.WM_USER + 53, - /// Sets the image list that the toolbar control will use to display disabled buttons. + /// + /// Sets the image list that the toolbar control will use to display disabled buttons. /// Parameters /// wParam /// Must be zero. @@ -989,10 +1360,12 @@ namespace Vanara.PInvoke /// Returns the handle to the image list previously used to display disabled buttons, or NULL if no image list was /// previously set. /// + /// // https://docs.microsoft.com/en-us/windows/win32/controls/tb-setdisabledimagelist TB_SETDISABLEDIMAGELIST = WindowMessage.WM_USER + 54, - /// Retrieves the image list that a toolbar control uses to display inactive buttons. + /// + /// Retrieves the image list that a toolbar control uses to display inactive buttons. /// Parameters /// wParam /// Must be zero. @@ -1000,10 +1373,12 @@ namespace Vanara.PInvoke /// Must be zero. /// Returns /// Returns the handle to the inactive image list, or NULL if no inactive image list is set. + /// // https://docs.microsoft.com/en-us/windows/win32/controls/tb-getdisabledimagelist TB_GETDISABLEDIMAGELIST = WindowMessage.WM_USER + 55, - /// Sets the style for a toolbar control. + /// + /// Sets the style for a toolbar control. /// Parameters /// wParam /// Must be zero. @@ -1011,10 +1386,12 @@ namespace Vanara.PInvoke /// Value specifying the styles to be set for the control. This value can be a combination of toolbar control styles. /// Returns /// No return value. + /// // https://docs.microsoft.com/en-us/windows/win32/controls/tb-setstyle TB_SETSTYLE = WindowMessage.WM_USER + 56, - /// Retrieves the styles currently in use for a toolbar control. + /// + /// Retrieves the styles currently in use for a toolbar control. /// Parameters /// wParam /// Must be zero. @@ -1022,10 +1399,12 @@ namespace Vanara.PInvoke /// Must be zero. /// Returns /// Returns a DWORD value that is a combination of toolbar control styles. + /// // https://docs.microsoft.com/en-us/windows/win32/controls/tb-getstyle TB_GETSTYLE = WindowMessage.WM_USER + 57, - /// Retrieves the current width and height of toolbar buttons, in pixels. + /// + /// Retrieves the current width and height of toolbar buttons, in pixels. /// Parameters /// wParam /// Must be zero. @@ -1033,10 +1412,12 @@ namespace Vanara.PInvoke /// Must be zero. /// Returns /// Returns a DWORD value that contains the width and height values in the low word and high word, respectively. + /// // https://docs.microsoft.com/en-us/windows/win32/controls/tb-getbuttonsize TB_GETBUTTONSIZE = WindowMessage.WM_USER + 58, - /// Sets the minimum and maximum button widths in the toolbar control. + /// + /// Sets the minimum and maximum button widths in the toolbar control. /// Parameters /// wParam /// Must be zero. @@ -1048,6 +1429,7 @@ namespace Vanara.PInvoke /// /// Returns /// Returns nonzero if successful, or zero otherwise. + /// /// /// Use TB_SETBUTTONWIDTH to set the maximum and minimum allowed widths for buttons before they are added. Use /// TB_SETBUTTONSIZE to set the actual size of buttons. @@ -1055,7 +1437,8 @@ namespace Vanara.PInvoke // https://docs.microsoft.com/en-us/windows/win32/controls/tb-setbuttonwidth TB_SETBUTTONWIDTH = WindowMessage.WM_USER + 59, - /// Sets the maximum number of text rows displayed on a toolbar button. + /// + /// Sets the maximum number of text rows displayed on a toolbar button. /// Parameters /// wParam /// Maximum number of rows of text that can be displayed. @@ -1063,6 +1446,7 @@ namespace Vanara.PInvoke /// Must be zero. /// Returns /// Returns nonzero if successful, or zero otherwise. + /// /// /// To cause text to wrap, you must set the maximum button width by sending a TB_SETBUTTONWIDTH message. The text wraps at /// a word break; line breaks ("\n") in the text are ignored. Text in TBSTYLE_LIST toolbars is always shown on a single line. @@ -1070,7 +1454,8 @@ namespace Vanara.PInvoke // https://docs.microsoft.com/en-us/windows/win32/controls/tb-setmaxtextrows TB_SETMAXTEXTROWS = WindowMessage.WM_USER + 60, - /// Retrieves the maximum number of text rows that can be displayed on a toolbar button. + /// + /// Retrieves the maximum number of text rows that can be displayed on a toolbar button. /// Parameters /// wParam /// Must be zero. @@ -1078,10 +1463,12 @@ namespace Vanara.PInvoke /// Must be zero. /// Returns /// Returns an INT value representing the maximum number of text rows that the control will display for a button. + /// // https://docs.microsoft.com/en-us/windows/win32/controls/tb-gettextrows TB_GETTEXTROWS = WindowMessage.WM_USER + 61, - /// Retrieves the IDropTarget for a toolbar control. + /// + /// Retrieves the IDropTarget for a toolbar control. /// Parameters /// wParam /// Identifier of the interface being requested. This value must point to IID_IDropTarget. @@ -1089,11 +1476,13 @@ namespace Vanara.PInvoke /// Address that receives the interface pointer. If an error occurs, a NULL pointer is placed in this address. /// Returns /// Returns an HRESULT value indicating success or failure of the operation. + /// /// The toolbar's IDropTarget is used by the toolbar when objects are dragged over or dropped onto it. // https://docs.microsoft.com/en-us/windows/win32/controls/tb-getobject TB_GETOBJECT = WindowMessage.WM_USER + 62, - /// Retrieves extended information for a button in a toolbar. + /// + /// Retrieves extended information for a button in a toolbar. /// Parameters /// wParam /// Command identifier of the button. @@ -1104,6 +1493,7 @@ namespace Vanara.PInvoke /// /// Returns /// Returns the zero-based index of the button, or -1 if an error occurs. + /// /// /// When you use TB_ADDBUTTONS or TB_INSERTBUTTON to place buttons on the toolbar, the button text is commonly /// specified by its string pool index. TB_GETBUTTONINFO will not retrieve this string. To use TB_GETBUTTONINFO to @@ -1113,7 +1503,8 @@ namespace Vanara.PInvoke // https://docs.microsoft.com/en-us/windows/win32/controls/tb-getbuttoninfo TB_GETBUTTONINFOW = WindowMessage.WM_USER + 63, - /// Sets the information for an existing button in a toolbar. + /// + /// Sets the information for an existing button in a toolbar. /// Parameters /// wParam /// Button identifier. @@ -1124,6 +1515,7 @@ namespace Vanara.PInvoke /// /// Returns /// Returns nonzero if successful, or zero otherwise. + /// /// /// Text is commonly assigned to buttons when they are added to a toolbar by specifying the index of a string in the toolbar's /// string pool. If you use a TB_SETBUTTONINFO to assign new text to a button, it will permanently override the text from @@ -1133,7 +1525,8 @@ namespace Vanara.PInvoke // https://docs.microsoft.com/en-us/windows/win32/controls/tb-setbuttoninfo TB_SETBUTTONINFOW = WindowMessage.WM_USER + 64, - /// Retrieves extended information for a button in a toolbar. + /// + /// Retrieves extended information for a button in a toolbar. /// Parameters /// wParam /// Command identifier of the button. @@ -1144,6 +1537,7 @@ namespace Vanara.PInvoke /// /// Returns /// Returns the zero-based index of the button, or -1 if an error occurs. + /// /// /// When you use TB_ADDBUTTONS or TB_INSERTBUTTON to place buttons on the toolbar, the button text is commonly /// specified by its string pool index. TB_GETBUTTONINFO will not retrieve this string. To use TB_GETBUTTONINFO to @@ -1153,7 +1547,8 @@ namespace Vanara.PInvoke // https://docs.microsoft.com/en-us/windows/win32/controls/tb-getbuttoninfo TB_GETBUTTONINFOA = WindowMessage.WM_USER + 65, - /// Sets the information for an existing button in a toolbar. + /// + /// Sets the information for an existing button in a toolbar. /// Parameters /// wParam /// Button identifier. @@ -1164,6 +1559,7 @@ namespace Vanara.PInvoke /// /// Returns /// Returns nonzero if successful, or zero otherwise. + /// /// /// Text is commonly assigned to buttons when they are added to a toolbar by specifying the index of a string in the toolbar's /// string pool. If you use a TB_SETBUTTONINFO to assign new text to a button, it will permanently override the text from @@ -1173,7 +1569,8 @@ namespace Vanara.PInvoke // https://docs.microsoft.com/en-us/windows/win32/controls/tb-setbuttoninfo TB_SETBUTTONINFOA = WindowMessage.WM_USER + 66, - /// Inserts a button in a toolbar. + /// + /// Inserts a button in a toolbar. /// Parameters /// wParam /// Zero-based index of a button. The message inserts the new button to the left of this button. @@ -1181,10 +1578,12 @@ namespace Vanara.PInvoke /// Pointer to a TBBUTTON structure containing information about the button to insert. /// Returns /// Returns TRUE if successful, or FALSE otherwise. + /// // https://docs.microsoft.com/en-us/windows/win32/controls/tb-insertbutton TB_INSERTBUTTONW = WindowMessage.WM_USER + 67, - /// Adds one or more buttons to a toolbar. + /// + /// Adds one or more buttons to a toolbar. /// Parameters /// wParam /// Number of buttons to add. @@ -1195,6 +1594,7 @@ namespace Vanara.PInvoke /// /// Returns /// Returns TRUE if successful, or FALSE otherwise. + /// /// /// /// If the toolbar was created using the CreateWindowEx function, you must send the TB_BUTTONSTRUCTSIZE message to @@ -1205,7 +1605,8 @@ namespace Vanara.PInvoke // https://docs.microsoft.com/en-us/windows/win32/controls/tb-addbuttons TB_ADDBUTTONSW = WindowMessage.WM_USER + 68, - /// Determines where a point lies in a toolbar control. + /// + /// Determines where a point lies in a toolbar control. /// Parameters /// wParam /// Must be zero. @@ -1220,10 +1621,12 @@ namespace Vanara.PInvoke /// item in which the point lies. If the return value is negative, the point does not lie within a button. The absolute value of /// the return value is the index of a separator item or the nearest nonseparator item. /// + /// // https://docs.microsoft.com/en-us/windows/win32/controls/tb-hittest TB_HITTEST = WindowMessage.WM_USER + 69, - /// Sets the text drawing flags for the toolbar. + /// + /// Sets the text drawing flags for the toolbar. /// Parameters /// wParam /// @@ -1236,6 +1639,7 @@ namespace Vanara.PInvoke /// /// Returns /// Returns the previous text drawing flags. + /// /// /// The wParam parameter allows you to specify which flags will be used when drawing the text, even if these flags are turned /// off. For example, if you do not want the DT_CENTER flag used when drawing text, you would add the DT_CENTER flag to wParam @@ -1245,7 +1649,8 @@ namespace Vanara.PInvoke // https://docs.microsoft.com/en-us/windows/win32/controls/tb-setdrawtextflags TB_SETDRAWTEXTFLAGS = WindowMessage.WM_USER + 70, - /// Retrieves the index of the hot item in a toolbar. + /// + /// Retrieves the index of the hot item in a toolbar. /// Parameters /// wParam /// Must be zero. @@ -1256,10 +1661,12 @@ namespace Vanara.PInvoke /// Returns the index of the hot item, or -1 if no hot item is set. Toolbar controls that do not have the TBSTYLE_FLAT /// style do not have hot items. /// + /// // https://docs.microsoft.com/en-us/windows/win32/controls/tb-gethotitem TB_GETHOTITEM = WindowMessage.WM_USER + 71, - /// Sets the hot item in a toolbar. + /// + /// Sets the hot item in a toolbar. /// Parameters /// wParam /// Index of the item that will be made hot. If this value is -1, none of the items will be hot. @@ -1267,11 +1674,13 @@ namespace Vanara.PInvoke /// Must be zero. /// Returns /// Returns the index of the previous hot item, or -1 if there was no hot item. + /// /// The behavior of this message is not defined for toolbars that do not have the TBSTYLE_FLAT style. // https://docs.microsoft.com/en-us/windows/win32/controls/tb-sethotitem TB_SETHOTITEM = WindowMessage.WM_USER + 72, - /// Sets the anchor highlight setting for a toolbar. + /// + /// Sets the anchor highlight setting for a toolbar. /// Parameters /// wParam /// @@ -1285,6 +1694,7 @@ namespace Vanara.PInvoke /// Returns the previous anchor highlight setting. If this value is nonzero, anchor highlighting was enabled. If this value is /// zero, anchor highlighting was disabled. /// + /// /// /// Anchor highlighting in a toolbar means that the last highlighted item will remain highlighted until another item is /// highlighted. This occurs even if the cursor leaves the toolbar control. @@ -1292,7 +1702,8 @@ namespace Vanara.PInvoke // https://docs.microsoft.com/en-us/windows/win32/controls/tb-setanchorhighlight TB_SETANCHORHIGHLIGHT = WindowMessage.WM_USER + 73, - /// Retrieves the anchor highlight setting for a toolbar. + /// + /// Retrieves the anchor highlight setting for a toolbar. /// Parameters /// wParam /// Must be zero. @@ -1303,10 +1714,12 @@ namespace Vanara.PInvoke /// Returns a Boolean value that indicates if anchor highlighting is set. If this value is nonzero, anchor highlighting is /// enabled. If this value is zero, it is disabled. /// + /// // https://docs.microsoft.com/en-us/windows/win32/controls/tb-getanchorhighlight TB_GETANCHORHIGHLIGHT = WindowMessage.WM_USER + 74, - /// Determines the ID of the button that corresponds to the specified accelerator character. + /// + /// Determines the ID of the button that corresponds to the specified accelerator character. /// Parameters /// wParam /// The accelerator character. @@ -1317,10 +1730,12 @@ namespace Vanara.PInvoke /// /// Returns /// Returns a nonzero value if one of the buttons has wParam as its accelerator character, or zero otherwise. + /// // https://docs.microsoft.com/en-us/windows/win32/controls/tb-mapaccelerator TB_MAPACCELERATORA = WindowMessage.WM_USER + 78, - /// Retrieves the current insertion mark for the toolbar. + /// + /// Retrieves the current insertion mark for the toolbar. /// Parameters /// wParam /// Must be zero. @@ -1328,10 +1743,12 @@ namespace Vanara.PInvoke /// Pointer to a TBINSERTMARK structure that receives the insertion mark. /// Returns /// Always returns TRUE. + /// // https://docs.microsoft.com/en-us/windows/win32/controls/tb-getinsertmark TB_GETINSERTMARK = WindowMessage.WM_USER + 79, - /// Sets the current insertion mark for the toolbar. + /// + /// Sets the current insertion mark for the toolbar. /// Parameters /// wParam /// Must be zero. @@ -1339,10 +1756,12 @@ namespace Vanara.PInvoke /// Pointer to a TBINSERTMARK structure that contains the insertion mark. /// Returns /// The return value for this message is not used. + /// // https://docs.microsoft.com/en-us/windows/win32/controls/tb-setinsertmark TB_SETINSERTMARK = WindowMessage.WM_USER + 80, - /// Retrieves the insertion mark information for a point in a toolbar. + /// + /// Retrieves the insertion mark information for a point in a toolbar. /// Parameters /// wParam /// Pointer to a POINT structure that contains the hit test coordinates, relative to the client area of the toolbar. @@ -1350,10 +1769,12 @@ namespace Vanara.PInvoke /// Pointer to a TBINSERTMARK structure that receives the insertion mark information. /// Returns /// Returns nonzero if the point is an insertion mark, or zero otherwise. + /// // https://docs.microsoft.com/en-us/windows/win32/controls/tb-insertmarkhittest TB_INSERTMARKHITTEST = WindowMessage.WM_USER + 81, - /// Moves a button from one index to another. + /// + /// Moves a button from one index to another. /// Parameters /// wParam /// Zero-based index of the button to be moved. @@ -1361,10 +1782,12 @@ namespace Vanara.PInvoke /// Zero-based index where the button will be moved. /// Returns /// Returns nonzero if successful, or zero otherwise. + /// // https://docs.microsoft.com/en-us/windows/win32/controls/tb-movebutton TB_MOVEBUTTON = WindowMessage.WM_USER + 82, - /// Retrieves the total size of all of the visible buttons and separators in the toolbar. + /// + /// Retrieves the total size of all of the visible buttons and separators in the toolbar. /// Parameters /// wParam /// Must be zero. @@ -1372,10 +1795,12 @@ namespace Vanara.PInvoke /// Pointer to a SIZE structure that receives the size of the items. /// Returns /// Returns nonzero if successful, or zero otherwise. + /// // https://docs.microsoft.com/en-us/windows/win32/controls/tb-getmaxsize TB_GETMAXSIZE = WindowMessage.WM_USER + 83, - /// Sets the extended styles for a toolbar control. + /// + /// Sets the extended styles for a toolbar control. /// Parameters /// wParam /// Must be zero. @@ -1383,10 +1808,12 @@ namespace Vanara.PInvoke /// Value specifying the new extended styles. This parameter can be a combination of extended styles. /// Returns /// Returns a DWORD that represents the previous extended styles. This value can be a combination of extended styles. + /// // https://docs.microsoft.com/en-us/windows/win32/controls/tb-setextendedstyle TB_SETEXTENDEDSTYLE = WindowMessage.WM_USER + 84, - /// Retrieves the extended styles for a toolbar control. + /// + /// Retrieves the extended styles for a toolbar control. /// Parameters /// wParam /// Must be zero. @@ -1397,10 +1824,12 @@ namespace Vanara.PInvoke /// Returns a DWORD that represents the styles currently in use for the toolbar control. This value can be a combination /// of extended styles. /// + /// // https://docs.microsoft.com/en-us/windows/win32/controls/tb-getextendedstyle TB_GETEXTENDEDSTYLE = WindowMessage.WM_USER + 85, - /// Retrieves the padding for a toolbar control. + /// + /// Retrieves the padding for a toolbar control. /// Parameters /// wParam /// Must be zero. @@ -1411,10 +1840,12 @@ namespace Vanara.PInvoke /// Returns a DWORD value that contains the horizontal padding in the low word and the vertical padding in the high word, /// in pixels. /// + /// // https://docs.microsoft.com/en-us/windows/win32/controls/tb-getpadding TB_GETPADDING = WindowMessage.WM_USER + 86, - /// Sets the padding for a toolbar control. + /// + /// Sets the padding for a toolbar control. /// Parameters /// wParam /// Must be zero. @@ -1427,6 +1858,7 @@ namespace Vanara.PInvoke /// Returns a DWORD value that contains the previous horizontal padding in the LOWORD and the previous vertical /// padding in the HIWORD, in pixels. /// + /// /// /// The padding values are used to create a blank area between the edge of the button and the button's image and/or text. Where /// and how much padding is actually applied depends on the type of the button and whether it has an image. The horizontal @@ -1436,7 +1868,8 @@ namespace Vanara.PInvoke // https://docs.microsoft.com/en-us/windows/win32/controls/tb-setpadding TB_SETPADDING = WindowMessage.WM_USER + 87, - /// Sets the color used to draw the insertion mark for the toolbar. + /// + /// Sets the color used to draw the insertion mark for the toolbar. /// Parameters /// wParam /// Must be zero. @@ -1444,10 +1877,12 @@ namespace Vanara.PInvoke /// COLORREF value that contains the new insertion mark color. /// Returns /// Returns a COLORREF value that contains the previous insertion mark color. + /// // https://docs.microsoft.com/en-us/windows/win32/controls/tb-setinsertmarkcolor TB_SETINSERTMARKCOLOR = WindowMessage.WM_USER + 88, - /// Retrieves the color used to draw the insertion mark for the toolbar. + /// + /// Retrieves the color used to draw the insertion mark for the toolbar. /// Parameters /// wParam /// Must be zero. @@ -1455,10 +1890,12 @@ namespace Vanara.PInvoke /// Must be zero. /// Returns /// Returns a COLORREF value that contains the current insertion mark color. + /// // https://docs.microsoft.com/en-us/windows/win32/controls/tb-getinsertmarkcolor TB_GETINSERTMARKCOLOR = WindowMessage.WM_USER + 89, - /// Determines the ID of the button that corresponds to the specified accelerator character. + /// + /// Determines the ID of the button that corresponds to the specified accelerator character. /// Parameters /// wParam /// The accelerator character. @@ -1469,10 +1906,12 @@ namespace Vanara.PInvoke /// /// Returns /// Returns a nonzero value if one of the buttons has wParam as its accelerator character, or zero otherwise. + /// // https://docs.microsoft.com/en-us/windows/win32/controls/tb-mapaccelerator TB_MAPACCELERATORW = WindowMessage.WM_USER + 90, - /// Retrieves a string from a toolbar's string pool. + /// + /// Retrieves a string from a toolbar's string pool. /// Parameters /// wParam /// @@ -1482,6 +1921,7 @@ namespace Vanara.PInvoke /// Pointer to a buffer used to return the string. /// Returns /// Returns the string length if successful, or -1 otherwise. + /// /// /// This message returns the specified string from the toolbar's string pool. It does not necessarily correspond to the text /// string currently being displayed by a button. To retrieve a button's current text string, send the toolbar a @@ -1490,7 +1930,8 @@ namespace Vanara.PInvoke // https://docs.microsoft.com/en-us/windows/win32/controls/tb-getstring TB_GETSTRINGW = WindowMessage.WM_USER + 91, - /// Retrieves a string from a toolbar's string pool. + /// + /// Retrieves a string from a toolbar's string pool. /// Parameters /// wParam /// @@ -1500,6 +1941,7 @@ namespace Vanara.PInvoke /// Pointer to a buffer used to return the string. /// Returns /// Returns the string length if successful, or -1 otherwise. + /// /// /// This message returns the specified string from the toolbar's string pool. It does not necessarily correspond to the text /// string currently being displayed by a button. To retrieve a button's current text string, send the toolbar a @@ -1513,7 +1955,6 @@ namespace Vanara.PInvoke /// [Intended for internal use; not recommended for use in applications. This message may not be supported in future versions of Windows.] /// /// Sets the bounding size for a multi-column toolbar control. - /// /// Parameters /// wParam /// Must be zero. @@ -1523,6 +1964,7 @@ namespace Vanara.PInvoke /// /// Returns /// The return value is not used. + /// /// /// The bounding size controls how buttons are organized into columns. If the toolbar control does not have the /// TBSTYLE_EX_MULTICOLUMN style, this message has no effect. @@ -1530,7 +1972,8 @@ namespace Vanara.PInvoke // https://docs.microsoft.com/en-us/windows/win32/controls/tb-setboundingsize TB_SETBOUNDINGSIZE = WindowMessage.WM_USER + 93, - /// Sets the hot item in a toolbar. + /// + /// Sets the hot item in a toolbar. /// Parameters /// wParam /// Index of the item that will be made hot. If this value is -1, none of the items will be hot. @@ -1540,6 +1983,7 @@ namespace Vanara.PInvoke /// . /// Returns /// Returns the index of the previous hot item, or -1 if there was no hot item. + /// /// The behavior of this message is not defined for toolbars that do not have the TBSTYLE_FLAT style. // https://docs.microsoft.com/en-us/windows/win32/controls/tb-sethotitem2 TB_SETHOTITEM2 = WindowMessage.WM_USER + 94, @@ -1549,7 +1993,6 @@ namespace Vanara.PInvoke /// [Intended for internal use; not recommended for use in applications. This message may not be supported in future versions of Windows.] /// /// Retrieves a count of toolbar buttons that have the specified accelerator character. - /// /// Parameters /// wParam /// A WCHAR representing the input accelerator character to test. @@ -1557,6 +2000,7 @@ namespace Vanara.PInvoke /// Pointer to an int that receives the number of buttons that have the accelerator character. /// Returns /// The return value is not used. + /// /// /// First, the system queries all toolbar buttons for matching accelerators. If no matches are found, the system sends the /// TBN_MAPACCELERATOR notification to the parent window, requesting the index of the button that has the specified accelerator @@ -1565,7 +2009,8 @@ namespace Vanara.PInvoke // https://docs.microsoft.com/en-us/windows/win32/controls/tb-hasaccelerator TB_HASACCELERATOR = WindowMessage.WM_USER + 95, - /// Sets the distance between the toolbar buttons on a specific toolbar. + /// + /// Sets the distance between the toolbar buttons on a specific toolbar. /// Parameters /// wParam /// The gap, in pixels, between buttons on the toolbar. @@ -1573,6 +2018,7 @@ namespace Vanara.PInvoke /// Ignored. /// Returns /// No return value. + /// /// /// The gap between buttons only applies to the toolbar control window that receives this message. Receipt of this message /// triggers a repaint of the toolbar, if the toolbar is currently visible. @@ -1580,7 +2026,8 @@ namespace Vanara.PInvoke // https://docs.microsoft.com/en-us/windows/win32/controls/tb-setlistgap TB_SETLISTGAP = WindowMessage.WM_USER + 96, - /// Gets the number of image lists associated with the toolbar. + /// + /// Gets the number of image lists associated with the toolbar. /// Parameters /// wParam /// Must be zero. @@ -1588,10 +2035,12 @@ namespace Vanara.PInvoke /// Must be zero. /// Returns /// Returns the number of image lists. + /// // https://docs.microsoft.com/en-us/windows/win32/controls/tb-getimagelistcount TB_GETIMAGELISTCOUNT = WindowMessage.WM_USER + 98, - /// Gets the ideal size of the toolbar. + /// + /// Gets the ideal size of the toolbar. /// Parameters /// wParam /// @@ -1605,10 +2054,12 @@ namespace Vanara.PInvoke /// /// Returns /// Returns TRUE if successful, or FALSE otherwise. + /// // https://docs.microsoft.com/en-us/windows/win32/controls/tb-getidealsize TB_GETIDEALSIZE = WindowMessage.WM_USER + 99, - /// Retrieves the metrics of a toolbar control. + /// + /// Retrieves the metrics of a toolbar control. /// Parameters /// wParam /// Must be zero. @@ -1616,6 +2067,7 @@ namespace Vanara.PInvoke /// Pointer to a TBMETRICS structure that receives the toolbar metrics. /// Returns /// The return value is not used. + /// /// /// Note /// @@ -1626,7 +2078,8 @@ namespace Vanara.PInvoke // https://docs.microsoft.com/en-us/windows/win32/controls/tb-getmetrics TB_GETMETRICS = WindowMessage.WM_USER + 101, - /// Sets the metrics of a toolbar control. + /// + /// Sets the metrics of a toolbar control. /// Parameters /// wParam /// Must be zero. @@ -1634,6 +2087,7 @@ namespace Vanara.PInvoke /// TBMETRICS structure that contains the toolbar metrics to set. /// Returns /// The return value is not used. + /// /// /// Note /// @@ -1644,7 +2098,8 @@ namespace Vanara.PInvoke // https://docs.microsoft.com/en-us/windows/win32/controls/tb-setmetrics TB_SETMETRICS = WindowMessage.WM_USER + 102, - /// Gets the bounding rectangle of the dropdown window for a toolbar item with style BTNS_DROPDOWN. + /// + /// Gets the bounding rectangle of the dropdown window for a toolbar item with style BTNS_DROPDOWN. /// Parameters /// wParam /// The zero-based index of the toolbar control item for which to retrieve the bounding rectangle. @@ -1657,11 +2112,13 @@ namespace Vanara.PInvoke /// /// Returns /// Always returns nonzero. + /// /// The item must have the BTNS_DROPDOWN style. // https://docs.microsoft.com/en-us/windows/win32/controls/tb-getitemdropdownrect TB_GETITEMDROPDOWNRECT = WindowMessage.WM_USER + 103, - /// Sets the image list that the toolbar uses to display buttons that are in a pressed state. + /// + /// Sets the image list that the toolbar uses to display buttons that are in a pressed state. /// Parameters /// wParam /// @@ -1675,6 +2132,7 @@ namespace Vanara.PInvoke /// Returns the handle to the image list previously used to display buttons in their pressed state, or NULL if no such /// image list was previously set. /// + /// /// /// /// Note @@ -1741,7 +2199,8 @@ namespace Vanara.PInvoke // https://docs.microsoft.com/en-us/windows/win32/controls/tb-setpressedimagelist TB_SETPRESSEDIMAGELIST = WindowMessage.WM_USER + 104, - /// Gets the image list that a toolbar control uses to display buttons in a pressed state. + /// + /// Gets the image list that a toolbar control uses to display buttons in a pressed state. /// Parameters /// wParam /// Must be zero. @@ -1749,6 +2208,7 @@ namespace Vanara.PInvoke /// Must be zero. /// Returns /// Returns the handle to the image list, or NULL if no image list is set. + /// // https://docs.microsoft.com/en-us/windows/win32/controls/tb-getpressedimagelist TB_GETPRESSEDIMAGELIST = WindowMessage.WM_USER + 105, } @@ -1765,7 +2225,6 @@ namespace Vanara.PInvoke /// /// TBN_GETBUTTONINFO lpnmtb = (LPNMTOOLBAR) lParam; /// - /// /// Parameters /// lParam /// @@ -1776,6 +2235,7 @@ namespace Vanara.PInvoke /// /// Returns /// Returns TRUE if button information was copied to the specified structure, or FALSE otherwise. + /// /// /// The toolbar control allocates a buffer, and the receiver (parent window) must copy the text into that buffer. The /// cchText member contains the length of the buffer allocated by the toolbar when TBN_GETBUTTONINFO is sent to the parent window. @@ -1791,7 +2251,6 @@ namespace Vanara.PInvoke /// /// TBN_BEGINDRAG lpnmtb = (LPNMTOOLBAR) lParam; /// - /// /// Parameters /// lParam /// @@ -1799,6 +2258,7 @@ namespace Vanara.PInvoke /// /// Returns /// No return value. + /// // https://docs.microsoft.com/en-us/windows/win32/controls/tbn-begindrag TBN_BEGINDRAG = TBN_FIRST - 1, @@ -1810,7 +2270,6 @@ namespace Vanara.PInvoke /// /// TBN_ENDDRAG lpnmtb = (LPNMTOOLBAR) lParam; /// - /// /// Parameters /// lParam /// @@ -1818,6 +2277,7 @@ namespace Vanara.PInvoke /// /// Returns /// No return value. + /// // https://docs.microsoft.com/en-us/windows/win32/controls/tbn-enddrag TBN_ENDDRAG = TBN_FIRST - 2, @@ -1829,12 +2289,12 @@ namespace Vanara.PInvoke /// /// TBN_BEGINADJUST lpnmhdr = (LPNMHDR) lParam; /// - /// /// Parameters /// lParam /// Pointer to an NMHDR structure that contains information about the notification code. /// Returns /// No return value. + /// // https://docs.microsoft.com/en-us/windows/win32/controls/tbn-beginadjust TBN_BEGINADJUST = TBN_FIRST - 3, @@ -1846,12 +2306,12 @@ namespace Vanara.PInvoke /// /// TBN_ENDADJUST lpnmhdr = (LPNMHDR) lParam; /// - /// /// Parameters /// lParam /// Pointer to an NMHDR structure that contains information about the notification code. /// Returns /// No return value. + /// // https://docs.microsoft.com/en-us/windows/win32/controls/tbn-endadjust TBN_ENDADJUST = TBN_FIRST - 4, @@ -1863,12 +2323,12 @@ namespace Vanara.PInvoke /// /// TBN_RESET lpnmhdr = (LPNMHDR) lParam; /// - /// /// Parameters /// lParam /// Pointer to an NMHDR structure that contains information about the notification code. /// Returns /// Return TBNRF_ENDCUSTOMIZE to close the Customize Toolbar dialog box. All other return values are ignored. + /// // https://docs.microsoft.com/en-us/windows/win32/controls/tbn-reset TBN_RESET = TBN_FIRST - 5, @@ -1880,7 +2340,6 @@ namespace Vanara.PInvoke /// /// TBN_QUERYINSERT lpnmtb = (LPNMTOOLBAR) lParam; /// - /// /// Parameters /// lParam /// @@ -1891,6 +2350,7 @@ namespace Vanara.PInvoke /// Return TRUE to allow a button to be inserted in front of the given button, or FALSE to prevent the button from /// being inserted. /// + /// // https://docs.microsoft.com/en-us/windows/win32/controls/tbn-queryinsert TBN_QUERYINSERT = TBN_FIRST - 6, @@ -1902,7 +2362,6 @@ namespace Vanara.PInvoke /// /// TBN_QUERYDELETE lpnmtb = (LPNMTOOLBAR) lParam; /// - /// /// Parameters /// lParam /// @@ -1910,6 +2369,7 @@ namespace Vanara.PInvoke /// /// Returns /// Returns TRUE to allow the button to be deleted, or FALSE to prevent the button from being deleted. + /// // https://docs.microsoft.com/en-us/windows/win32/controls/tbn-querydelete TBN_QUERYDELETE = TBN_FIRST - 7, @@ -1921,12 +2381,12 @@ namespace Vanara.PInvoke /// /// TBN_TOOLBARCHANGE lpnmhdr = (LPNMHDR) lParam; /// - /// /// Parameters /// lParam /// Pointer to an NMHDR structure that contains information about the notification code. /// Returns /// No return value. + /// // https://docs.microsoft.com/en-us/windows/win32/controls/tbn-toolbarchange TBN_TOOLBARCHANGE = TBN_FIRST - 8, @@ -1938,12 +2398,12 @@ namespace Vanara.PInvoke /// /// TBN_CUSTHELP lpnmhdr = (LPNMHDR) lParam; /// - /// /// Parameters /// lParam /// Pointer to an NMHDR structure that contains information about the notification code. /// Returns /// No return value. + /// // https://docs.microsoft.com/en-us/windows/win32/controls/tbn-custhelp TBN_CUSTHELP = TBN_FIRST - 9, @@ -1955,7 +2415,6 @@ namespace Vanara.PInvoke /// /// TBN_DROPDOWN lpnmtb = (LPNMTOOLBAR) lParam; /// - /// /// Parameters /// lParam /// @@ -1982,6 +2441,7 @@ namespace Vanara.PInvoke /// The drop-down was handled, but treat the button like a regular button. /// /// + /// /// /// Note /// @@ -2003,7 +2463,6 @@ namespace Vanara.PInvoke /// /// TBN_GETOBJECT lpnmon = (LPNMOBJECTNOTIFY) lParam; /// - /// /// Parameters /// lParam /// @@ -2012,6 +2471,7 @@ namespace Vanara.PInvoke /// /// Returns /// The application processing this notification code must return zero. + /// /// /// /// To provide an object, an application must set values in some members of the NMOBJECTNOTIFY structure at lParam. The @@ -2033,12 +2493,12 @@ namespace Vanara.PInvoke /// /// TBN_HOTITEMCHANGE lpnmhi = (LPNMTBHOTITEM) lParam; /// - /// /// Parameters /// lParam /// Pointer to an NMTBHOTITEM structure that contains information about this notification code. /// Returns /// Return zero to allow the item to be highlighted, or nonzero to prevent the item from being highlighted. + /// // https://docs.microsoft.com/en-us/windows/win32/controls/tbn-hotitemchange TBN_HOTITEMCHANGE = TBN_FIRST - 13, @@ -2050,7 +2510,6 @@ namespace Vanara.PInvoke /// /// TBN_DRAGOUT lpnmtb = (LPNMTOOLBAR) lParam; /// - /// /// Parameters /// lParam /// @@ -2060,6 +2519,7 @@ namespace Vanara.PInvoke /// /// Returns /// The return value is ignored. + /// /// /// This notification code allows an application to implement drag-and-drop functionality for toolbar buttons. When processing /// this notification code, the application will begin the drag-and-drop operation. @@ -2075,7 +2535,6 @@ namespace Vanara.PInvoke /// /// TBN_DELETINGBUTTON lpnmtb = (LPNMTOOLBAR) lParam; /// - /// /// Parameters /// lParam /// @@ -2085,6 +2544,7 @@ namespace Vanara.PInvoke /// /// Returns /// The return value is ignored. + /// // https://docs.microsoft.com/en-us/windows/win32/controls/tbn-deletingbutton TBN_DELETINGBUTTON = TBN_FIRST - 15, @@ -2095,7 +2555,6 @@ namespace Vanara.PInvoke /// /// TBN_GETDISPINFO lptbdi = (LPNMTBDISPINFO) lParam; /// - /// /// Parameters /// lParam /// @@ -2105,6 +2564,7 @@ namespace Vanara.PInvoke /// /// Returns /// The return value is ignored by the control. + /// // https://docs.microsoft.com/en-us/windows/win32/controls/tbn-getdispinfo TBN_GETDISPINFOA = TBN_FIRST - 16, @@ -2115,7 +2575,6 @@ namespace Vanara.PInvoke /// /// TBN_GETDISPINFO lptbdi = (LPNMTBDISPINFO) lParam; /// - /// /// Parameters /// lParam /// @@ -2125,6 +2584,7 @@ namespace Vanara.PInvoke /// /// Returns /// The return value is ignored by the control. + /// // https://docs.microsoft.com/en-us/windows/win32/controls/tbn-getdispinfo TBN_GETDISPINFOW = TBN_FIRST - 17, @@ -2135,12 +2595,12 @@ namespace Vanara.PInvoke /// /// TBN_GETINFOTIP lptbgit = (LPNMTBGETINFOTIP) lParam; /// - /// /// Parameters /// lParam /// Pointer to an NMTBGETINFOTIP structure that contains item information and receives infotip information. /// Returns /// The return value is ignored by the control. + /// /// /// The infotip support in the toolbar allows the toolbar to display tooltips for items that are as large as INFOTIPSIZE /// characters. If this notification code is not processed, the toolbar will use the item's text for the infotip. @@ -2155,12 +2615,12 @@ namespace Vanara.PInvoke /// /// TBN_GETINFOTIP lptbgit = (LPNMTBGETINFOTIP) lParam; /// - /// /// Parameters /// lParam /// Pointer to an NMTBGETINFOTIP structure that contains item information and receives infotip information. /// Returns /// The return value is ignored by the control. + /// /// /// The infotip support in the toolbar allows the toolbar to display tooltips for items that are as large as INFOTIPSIZE /// characters. If this notification code is not processed, the toolbar will use the item's text for the infotip. @@ -2176,7 +2636,6 @@ namespace Vanara.PInvoke /// /// TBN_GETBUTTONINFO lpnmtb = (LPNMTOOLBAR) lParam; /// - /// /// Parameters /// lParam /// @@ -2187,6 +2646,7 @@ namespace Vanara.PInvoke /// /// Returns /// Returns TRUE if button information was copied to the specified structure, or FALSE otherwise. + /// /// /// The toolbar control allocates a buffer, and the receiver (parent window) must copy the text into that buffer. The /// cchText member contains the length of the buffer allocated by the toolbar when TBN_GETBUTTONINFO is sent to the parent window. @@ -2202,7 +2662,6 @@ namespace Vanara.PInvoke /// /// TBN_RESTORE lpnmtb = (LPNMTBRESTORE) lParam; /// - /// /// Parameters /// lParam /// Pointer to an NMTBRESTORE structure. @@ -2212,6 +2671,7 @@ namespace Vanara.PInvoke /// restore process to continue restoring the button information. If the application returns a nonzero value, the restore process /// is canceled. /// + /// /// /// The application will receive this notification code once at the start of the restore process and once for each button. This /// notification code gives you an opportunity to extract the information from the data stream that you saved previously. If you @@ -2229,12 +2689,12 @@ namespace Vanara.PInvoke /// /// TBN_SAVE lpnmtb = (LPNMTBSAVE) lParam; /// - /// /// Parameters /// lParam /// Pointer to an NMTBSAVE structure. /// Returns /// No return value. + /// /// /// The application will receive this notification code once at the start of the save process and once for each button. This /// notification code gives you an opportunity to add your own information to that saved by the Shell. If you do not wish to add @@ -2251,12 +2711,12 @@ namespace Vanara.PInvoke /// /// TBN_INITCUSTOMIZE lpnmhdr = (LPNMHDR) lParam; /// - /// /// Parameters /// lParam /// Pointer to the toolbar's NMHDR structure. /// Returns /// Returns TBNRF_HIDEHELP to suppress the Help button. + /// // https://docs.microsoft.com/en-us/windows/win32/controls/tbn-initcustomize TBN_INITCUSTOMIZE = TBN_FIRST - 23, @@ -2268,7 +2728,6 @@ namespace Vanara.PInvoke /// /// TBN_WRAPHOTITEM lpnmtb = (NMTBWRAPHOTITEM) lParam; /// - /// /// Parameters /// lParam /// @@ -2277,6 +2736,7 @@ namespace Vanara.PInvoke /// /// Returns /// TRUE if the application is handling the hot item change itself; otherwise FALSE. + /// /// /// The NMTBWRAPHOTITEM structure must be defined by the application as follows: /// @@ -2294,7 +2754,6 @@ namespace Vanara.PInvoke /// /// TBN_DUPACCELERATOR lpnmtb = (NMTBDUPACCELERATOR) lParam; /// - /// /// Parameters /// lParam /// @@ -2303,6 +2762,7 @@ namespace Vanara.PInvoke /// /// Returns /// Returns TRUE if successful, otherwise FALSE. + /// /// /// The application must declare the NMTBDUPACCELERATOR structure as follows: /// @@ -2320,7 +2780,6 @@ namespace Vanara.PInvoke /// /// TBN_WRAPACCELERATOR lpnmtb = (NMTBWRAPACCELERATOR) lParam; /// - /// /// Parameters /// lParam /// @@ -2329,6 +2788,7 @@ namespace Vanara.PInvoke /// /// Returns /// TRUE if an index is returned, otherwise FALSE. + /// /// /// Applications with one or more toolbars may receive this notification code. /// The NMTBWRAPACCELERATOR structure must be defined by the application as follows: @@ -2347,12 +2807,12 @@ namespace Vanara.PInvoke /// /// TBN_DRAGOVER lpnmtb = (NMTBHOTITEM*) lParam; /// - /// /// Parameters /// lParam /// A pointer to an NMTBHOTITEM structure that specifies which item is being dragged over. /// Returns /// FALSE if the toolbar should send a TB_MARKBUTTON message; otherwise TRUE. + /// // https://docs.microsoft.com/en-us/windows/win32/controls/tbn-dragover TBN_DRAGOVER = TBN_FIRST - 27, @@ -2364,7 +2824,6 @@ namespace Vanara.PInvoke /// /// TBN_MAPACCELERATOR lpnmtb = (NMCHAR*) lParam; /// - /// /// Parameters /// lParam /// @@ -2373,6 +2832,7 @@ namespace Vanara.PInvoke /// /// Returns /// TRUE if NMCHAR.dwItemNext is set to a value. + /// // https://docs.microsoft.com/en-us/windows/win32/controls/tbn-mapaccelerator TBN_MAPACCELERATOR = TBN_FIRST - 28, } @@ -2451,6 +2911,78 @@ namespace Vanara.PInvoke /// vertical toolbar control when the toolbar is part of a vertical rebar control. This style cannot be combined with CCS_VERT. /// TBSTYLE_WRAPABLE = 0x0200, + + /// + /// Version 5.80. Creates a standard button. Use the equivalent style flag, TBSTYLE_BUTTON, for version 4.72 and earlier. This + /// flag is defined as 0, and should be used to signify that no other flags are set. + /// + BTNS_BUTTON = TBSTYLE_BUTTON, + + /// + /// Version 5.80. Creates a separator, providing a small gap between button groups. A button that has this style does not receive + /// user input. Use the equivalent style flag, TBSTYLE_SEP, for version 4.72 and earlier. + /// + BTNS_SEP = TBSTYLE_SEP, + + /// + /// Version 5.80. Creates a dual-state push button that toggles between the pressed and nonpressed states each time the user + /// clicks it. The button has a different background color when it is in the pressed state. Use the equivalent style flag, + /// TBSTYLE_CHECK, for version 4.72 and earlier. + /// + BTNS_CHECK = TBSTYLE_CHECK, + + /// + /// Version 5.80. When combined with BTNS_CHECK, creates a button that stays pressed until another button in the group is + /// pressed. Use the equivalent style flag, TBSTYLE_GROUP, for version 4.72 and earlier. + /// + BTNS_GROUP = TBSTYLE_GROUP, + + /// + /// Version 5.80. Creates a button that stays pressed until another button in the group is pressed, similar to option buttons + /// (also known as radio buttons). It is equivalent to combining BTNS_CHECK and BTNS_GROUP. Use the equivalent style flag, + /// TBSTYLE_CHECKGROUP, for version 4.72 and earlier. + /// + BTNS_CHECKGROUP = TBSTYLE_CHECKGROUP, + + /// + /// Version 5.80. Creates a drop-down style button that can display a list when the button is clicked. Instead of the WM_COMMAND + /// message used for normal buttons, drop-down buttons send a TBN_DROPDOWN notification code. An application can then have the + /// notification handler display a list of options. Use the equivalent style flag, TBSTYLE_DROPDOWN, for version 4.72 and earlier. + /// + /// If the toolbar has the TBSTYLE_EX_DRAWDDARROWS extended style, drop-down buttons will have a drop-down arrow displayed in a + /// separate section to their right. If the arrow is clicked, a TBN_DROPDOWN notification code will be sent. If the associated + /// button is clicked, a WM_COMMAND message will be sent. + /// + /// + BTNS_DROPDOWN = TBSTYLE_DROPDOWN, + + /// + /// Version 5.80. Specifies that the toolbar control should not assign the standard width to the button. Instead, the button's + /// width will be calculated based on the width of the text plus the image of the button. Use the equivalent style flag, + /// TBSTYLE_AUTOSIZE, for version 4.72 and earlier. + /// + BTNS_AUTOSIZE = TBSTYLE_AUTOSIZE, + + /// + /// Version 5.80. Specifies that the button text will not have an accelerator prefix associated with it. Use the equivalent style + /// flag, TBSTYLE_NOPREFIX, for version 4.72 and earlier. + /// + BTNS_NOPREFIX = TBSTYLE_NOPREFIX, + + /// + /// Version 5.81. Specifies that button text should be displayed. All buttons can have text, but only those buttons with the + /// BTNS_SHOWTEXT button style will display it. This button style must be used with the TBSTYLE_LIST style and the + /// TBSTYLE_EX_MIXEDBUTTONS extended style. If you set text for buttons that do not have the BTNS_SHOWTEXT style, the toolbar + /// control will automatically display it as a tooltip when the cursor hovers over the button. This feature allows your + /// application to avoid handling the TBN_GETINFOTIP or TTN_GETDISPINFO notification code for the toolbar. + /// + BTNS_SHOWTEXT = 0x0040, + + /// + /// Version 5.80. Specifies that the button will have a drop-down arrow, but not as a separate section. Buttons with this style + /// behave the same, regardless of whether the TBSTYLE_EX_DRAWDDARROWS extended style is set. + /// + BTNS_WHOLEDROPDOWN = 0x0080, } /// This section lists the extended styles supported by toolbar controls. @@ -2510,6 +3042,50 @@ namespace Vanara.PInvoke TBSTYLE_EX_DOUBLEBUFFER = 0x00000080, } + /// Index values for IDB_VIEW_LARGE_COLOR and IDB_VIEW_SMALL_COLOR + [PInvokeData("Commctrl.h")] + public enum VIEW + { + /// Large icons view. + VIEW_LARGEICONS = 0, + + /// Small icons view. + VIEW_SMALLICONS = 1, + + /// List view. + VIEW_LIST = 2, + + /// Details view. + VIEW_DETAILS = 3, + + /// Sort by name. + VIEW_SORTNAME = 4, + + /// Sort by size. + VIEW_SORTSIZE = 5, + + /// Sort by date. + VIEW_SORTDATE = 6, + + /// Sort by type. + VIEW_SORTTYPE = 7, + + /// Go to parent folder. + VIEW_PARENTFOLDER = 8, + + /// Connect to network drive. + VIEW_NETCONNECT = 9, + + /// Disconnect to network drive. + VIEW_NETDISCONNECT = 10, + + /// New folder. + VIEW_NEWFOLDER = 11, + + /// View menu. + VIEW_VIEWMENU = 12, + } + /// Creates a bitmap for use in a toolbar. /// /// Type: HINSTANCE @@ -2618,7 +3194,7 @@ namespace Vanara.PInvoke /// /// /// - public uint dwMask; + public TBNF dwMask; /// /// Type: int @@ -2648,6 +3224,7 @@ namespace Vanara.PInvoke /// Type: LPTSTR /// Pointer to a character buffer that receives the item's text. /// + [MarshalAs(UnmanagedType.LPTStr)] public string pszText; /// @@ -2676,6 +3253,7 @@ namespace Vanara.PInvoke /// Type: LPTSTR /// Address of a character buffer that receives the infotip text. /// + [MarshalAs(UnmanagedType.LPTStr)] public string pszText; /// @@ -2787,7 +3365,7 @@ namespace Vanara.PInvoke /// /// /// - public uint dwFlags; // HICF_* + public HICF dwFlags; // HICF_* } /// @@ -2979,6 +3557,7 @@ namespace Vanara.PInvoke /// Type: LPTSTR /// Address of a character buffer that contains the button text. /// + [MarshalAs(UnmanagedType.LPTStr)] public string pszText; /// @@ -3167,7 +3746,7 @@ namespace Vanara.PInvoke /// /// /// - public uint dwMask; + public TBIF dwMask; /// /// Type: int @@ -3192,13 +3771,15 @@ namespace Vanara.PInvoke /// Type: BYTE /// State flags of the button. This can be one or more of the values listed in Toolbar Button States. /// - public byte fsState; + public TBSTATE fsState; /// /// Type: BYTE /// Style flags of the button. This can be one or more of the values listed in Toolbar Control and Button Styles. /// - public byte fsStyle; + public ToolbarStyle fsStyle { get => (ToolbarStyle)_fsStyle; set => _fsStyle = (byte)((ushort)fsStyle & 0x00FF); } + + private byte _fsStyle; /// /// Type: WORD @@ -3216,7 +3797,7 @@ namespace Vanara.PInvoke /// Type: LPTSTR /// Address of a character buffer that contains or receives the button text. /// - public string pszText; + public IntPtr pszText; /// /// Type: int @@ -3261,7 +3842,7 @@ namespace Vanara.PInvoke /// /// /// - public uint dwFlags; + public TBIMHT dwFlags; } /// Defines the metrics of a toolbar that are used to shrink or expand toolbar items. @@ -3302,7 +3883,7 @@ namespace Vanara.PInvoke /// /// /// - public uint dwMask; + public TBMF dwMask; /// /// Type: int @@ -3410,12 +3991,14 @@ namespace Vanara.PInvoke /// Type: LPCTSTR /// Subkey name. /// + [MarshalAs(UnmanagedType.LPTStr)] public string pszSubKey; /// /// Type: LPCTSTR /// Value name. /// + [MarshalAs(UnmanagedType.LPTStr)] public string pszValueName; } } diff --git a/PInvoke/ComCtl32/CommCtrl.cs b/PInvoke/ComCtl32/CommCtrl.cs index 3cbd6f38..c391990f 100644 --- a/PInvoke/ComCtl32/CommCtrl.cs +++ b/PInvoke/ComCtl32/CommCtrl.cs @@ -12,10 +12,17 @@ namespace Vanara.PInvoke /// No color. public const uint CLR_NONE = 0xFFFFFFFF; - /// + /// + /// By specifying the I_IMAGECALLBACK value instead of the index of an image, you can delay specifying the selected or nonselected + /// image until the item is about to be redrawn. I_IMAGECALLBACK directs the control to query the application for the index by + /// sending a control specific notification message. + /// public const int I_IMAGECALLBACK = -1; - /// + /// + /// Set LPARAM to I_IMAGENONE to indicate that the button does not have an image. The button layout will not include any + /// space for a bitmap, only text. + /// public const int I_IMAGENONE = -2; ///