{"id":13804079,"url":"https://github.com/Pulover/Class_Rebar","last_synced_at":"2025-05-13T17:31:09.381Z","repository":{"id":72306320,"uuid":"53908684","full_name":"Pulover/Class_Rebar","owner":"Pulover","description":"AHK class for AutoHotkey Rebar custom controls","archived":false,"fork":false,"pushed_at":"2016-04-04T05:15:12.000Z","size":15,"stargazers_count":17,"open_issues_count":0,"forks_count":4,"subscribers_count":4,"default_branch":"master","last_synced_at":"2024-11-18T20:49:59.436Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://autohotkey.com/boards/viewtopic.php?f=6\u0026t=139","language":"AutoHotkey","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"unlicense","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Pulover.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2016-03-15T02:39:27.000Z","updated_at":"2024-11-10T21:15:29.000Z","dependencies_parsed_at":null,"dependency_job_id":"1e9a8898-16fa-42fa-9aa2-d2ca9cff6186","html_url":"https://github.com/Pulover/Class_Rebar","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Pulover%2FClass_Rebar","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Pulover%2FClass_Rebar/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Pulover%2FClass_Rebar/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Pulover%2FClass_Rebar/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Pulover","download_url":"https://codeload.github.com/Pulover/Class_Rebar/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253993001,"owners_count":21996213,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-08-04T01:00:41.386Z","updated_at":"2025-05-13T17:31:09.044Z","avatar_url":"https://github.com/Pulover.png","language":"AutoHotkey","readme":"# Class Rebar\n\n## Class for AutoHotkey Rebar custom controls\n\nAHK version: 1.1.23.01\n\nThis class provides intuitive methods to work with Rebar controls created via **Gui, Add, Custom, ClassReBarWindow32**.\n\n## Rebar Methods\n* DeleteBand(Band)\n* GetBand(Band [, ID, Text, Size, Image, Background, Style, Child])\n* GetBandCount()\n* GetBarHeight()\n* GetLayout()\n* GetRowCount()\n* GetRowHeight(Band)\n* IDToIndex(ID)\n* InsertBand(hChild [, Position, Options, ID, Text, Size, Image, Background, MinHeight, MinWidth, IdealSize])\n* MaximizeBand(Band [, IdealWidth])\n* MinimizeBand(Band)\n* ModifyBand(Band, Property, Value [, SetStyle])\n* MoveBand(Band, Target)\n* OnNotify(Param [, MenuXPos, MenuYPos, ID)\n* SetBandStyle(Band, Value)\n* SetBandWidth(Band, Width)\n* SetImageList(ImageList)\n* SetMaxRows([Rows])\n* SetLayout(Layout)\n* ShowBand(Band [, Show])\n* ToggleStyle(Style)\n\n## Useful Rebar Styles\nStyles can be applied to Gui command options, e.g.: Gui, Add, Custom, ClassReBarWindow32 0x0800 0x0100\n\n* RBS_BANDBORDERS   := 0x0400 - Add a separator border between bands in different rows.\n* RBS_DBLCLKTOGGLE  := 0x8000 - Toggle maximize/minimize with double-click instead of single.\n* RBS_FIXEDORDER    := 0x0800 - Always displays bands in the same order.\n* RBS_VARHEIGHT     := 0x0200 - Allow bands to have different heights.\n* CCS_NODIVIDER     := 0x0040 - Removes the separator line above the rebar.\n* CCS_NOPARENTALIGN := 0x0008 - Allows positioning and moving rebars.\n* CCS_NORESIZE      := 0x0004 - Allows resizing rebars.\n* CCS_VERT          := 0x0080 - Creates a vertical rebar.\n\n- - -\n\n## Delete()\nDeletes a band from a rebar control.\n\n### Return\nTRUE if successful, FALSE if there was a problem.\n\n### Parameters\n* **Band** - 1-based index of the band to be deleted.\n\n## GetBand()\nRetrieves information from a rebar band.\n\n### Return\nTRUE if successful, FALSE if there was a problem.\n\n### Parameters\n* **Band** - 1-based index of the band.\n* **ID** - OutputVar to store the band's ID.\n* **Text** - OutputVar to store the band's text.\n* **Size** - OutputVar to store the band's size.\n* **Image** - OutputVar to store the band's image index.\n* **Background** - OutputVar to store a handle to the band's background bitmap.\n* **Style** - OutputVar to store the band's style numeric value.\n* **Child** - OutputVar to store a handle to the band's child control.\n\n## GetBandCount()\nRetrieves the count of bands currently in the rebar control.\n\n### Return\nThe number of bands in the rebar control.\n\n## GetBarHeight()\nRetrieves the height of the rebar control.\n\n### Return\nThe height of the rebar control in pixels.\n\n## GetLayout()\nRetrieves the current layout of bands in the rebar control.\n\n### Return\nA string containing information about the current bands. String format is: ID1,Size1,Style1|ID2,Size2,Style2|...\n\n## GetRowCount()\nRetrieves the number of rows of bands in a rebar control.\n\n### Return\nThe number of rows in the rebar control.\n\n## GetRowHeight()\nRetrieves the number of rows of bands in a rebar control.\n\n### Return\nThe height of the row from the corresponding band in pixels.\n\n### Parameters\n* **Band** - 1-based index of a band to retrieve the height from.\n\n## IDToIndex()\nConverts a band identifier to a band index in a rebar control.\n\n### Return\nThe 1-based band index if successful, or 0 otherwise.\n\n### Parameters\n* **ID** - The application-defined identifier of the band in question.\n\n## InsertBand()\nInserts a new band in a rebar control.\n\n### Return\nTRUE if successful, FALSE if there was a problem.\n\n### Parameters\n* **hChild** - Handle to the control contained in the band, if any.\n* **Position** - 1-based index of the location where the band will be inserted. If you set this parameter to 0, the control will add the new band at the last location.\n* **Options** - Enter zero or more words, separated by space or tab, from the following list to set the band's initial styles: Break, FixedBmp, FixedSize, Hidden, HideTitle, NoGripper, NoVert, TopAlign, VariableHeight. The following styles are applied by default** - ChildEdge, GripperAlways (can be disabled with NoGripper), UseChevron (only valid if IdealSize is set).\n* **ID** - Integer value that the control uses to identify this band. This parameter is required to retrieve and set layouts.\n* **Text** - The display text for the band.\n* **Size** - Length of the band, in pixels.\n* **Image** - 1-based index of any image that should be displayed in the band. SetImageList method must be called prior to this.\n* **Background** - Path of a bitmap file that is used as the background for this band.\n* **MinHeight** - Minimum height of the control, in pixels.\n* **MinWidth** - Minimum width of the control, in pixels.\n* **IdealSize** - Ideal width of the band, in pixels. If the band is maximized to the ideal width (see MaximizeBand method), the rebar control will attempt to make the band this width.\n\n## MaximizeBand()\nResizes a band to either its ideal or largest size.\n\n### Return\nTRUE if successful, FALSE if there was a problem.\n\n### Parameters\n* **Band** - 1-based index of a band to be maximized.\n* **IdealWidth** - If TRUE the ideal width of the band will be used to maximize\n\n## MinimizeBand()\nResizes a band to its smallest size.\n\n### Return\nTRUE if successful, FALSE if there was a problem.\n\n### Parameters\n* **Band** - 1-based index of a band to be minimized.\n\n## ModifyBand()\nSets band parameters such as Text and Size.\n\n### Return\nTRUE if successful, FALSE if there was a problem.\n\n### Parameters\n* **Band** - 1-based index of a band to be modified.\n* **Property** - Enter one word from the following list to select the Property to be set** - Style, ID, Text, Size, Image, Background, MinWidth, MinHeight, IdealSize, Child (handle of control).\n* **Value** - The value to be set in the selected Property. If Property is Style you can enter named values as in the InsertBand options, or an integer value.\n* **SetStyle** - Only valid if Property is Style. Determines whether to add or remove the styles.\n\n## MoveBand()\nMoves a band from one index to another.\n\n### Return\nTRUE if successful, FALSE if there was a problem.\n\n### Parameters\n* **Band** - 1-based index of a band to be moved.\n* **Target** - 1-based index of a the new band position.\n\n## OnNotify()\nHandles rebar notifications. This method should be called from the rebar's G-Label. If A_GuiEvent is \"N\", pass it A_EventInfo as the Param. You can also call it from a function monitoring the WM_NOTIFY message, pass it lParam as the Param. Currently this method is used to retrieve the position for a menu when the Chevron button is pushed and prevent a number of rows higher then the one set by SetMaxRows method.\n\n### Return\nIf the ChevronPushed notification is passed returns the index of the band it is from.\n\n### Parameters\n* **Param** - The lParam from WM_NOTIFY message.\n* **MenuXPos** - OutputVar to store the horizontal position for a menu.\n* **MenuYPos** - OutputVar to store the vertical position for a menu.\n* **ID** - OutputVar to store the band's ID.\n\n## SetBandStyle()\nSets the style of a band.\n\n### Return\nTRUE if successful, FALSE if there was a problem.\n\n### Parameters\n* **Band** - 1-based index of the band.\n* **Value** - Named values as in the InsertBand options, or an integer value.\n\n## SetBandWidth()\nSets the width for a docked band.\n\n### Return\nTRUE if successful, FALSE if there was a problem.\n\n### Parameters\n* **Band** - 1-based index of the band.\n* **Width** - New width in pixels.\n\n## SetImageList()\nSets an ImageList to the rebar control.\n\n### Return\nTRUE if successful, FALSE if there was a problem.\n\n### Parameters\n* **ImageList** - ImageList ID.\n\n## SetLayout()\nSets a layout of bands in the rebar control.\n\n### Return\nTRUE if a valid layout was passed, or FALSE otherwise.\n\n### Parameters\n* **Layout** - A string containing information about the current bands. String format is** - ID1,Size1,Style1|ID2,Size2,Style2|...\n\n## SetMaxRows()\nSets the maximum number of rows allowed in a rebar control. This method requires the OnNotify method to be implemented.\n\n### Return\nThe number of rows previously allowed.\n\n### Parameters\n* **Rows** - Number of maximum rows allowed. Set it to 0 to disable limit.\n\n## ShowBand()\nShows or hides a given band in a rebar control.\n\n### Return\nTRUE if successful, FALSE if there was a problem.\n\n### Parameters\n* **Band** - 1-based index of the band.\n* **Show** - Set to TRUE to show the band or FALSE to hide it.\n\n## ToggleStyle()\nToggles rebar's style.\n\n### Return\nTRUE if a valid style is passed, or FALSE otherwise.\n\n### Parameters\n* **Style** - Enter one or more words, separated by space or tab, from the following list to toggle toolbar's styles** - AutoSize, BandBorders, DblClkToggle, FixedOrder, RegisterDropdown, VarHeight, VerticalGripper. You may also enter an integer value to define the style.\n\n","funding_links":[],"categories":["Libraries"],"sub_categories":["\u003ca name=\"libraries-gui\"\u003e\u003c/a\u003eGUI"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FPulover%2FClass_Rebar","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FPulover%2FClass_Rebar","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FPulover%2FClass_Rebar/lists"}