#ProGUI_Any = -1
#RBBS_SIZEABLE = $60000
#RBBS_VERTICALRESIZEABLE = $800000
#REBAR_UPDATED = 35155
#TBSTYLE_BUTTON = $0
#TBSTYLE_SEP = $1
#TBSTYLE_CHECK = $2
#TBSTYLE_GROUP = $4
#TBSTYLE_CHECKGROUP = $6
#TBSTYLE_DROPDOWN = $8
#TBSTYLE_AUTOSIZE = $10
#TBSTYLE_NOPREFIX = $20
#TBSTYLE_TOOLTIPS = $100
#TBSTYLE_WRAPABLE = $200
#TBSTYLE_ALTDRAG = $400
#TBSTYLE_FLAT = $800
#TBSTYLE_LIST = $1000
#TBSTYLE_CUSTOMERASE = $2000
#TBSTYLE_REGISTERDROP = $4000
#TBSTYLE_TRANSPARENT = $8000
#TBSTYLE_HIDECLIPPEDBUTTONS = $800000
#TBSTYLE_EX_DRAWDDARROWS = $1
#TBSTYLE_EX_UNDOC1 = $4
#TBSTYLE_EX_MIXEDBUTTONS = $8
#TBSTYLE_EX_HIDECLIPPEDBUTTONS = $10
#TBSTYLE_EX_DOUBLEBUFFER = $80
#BTNS_BUTTON = $0
#BTNS_SEP = $1
#BTNS_CHECK = $2
#BTNS_GROUP = $4
#BTNS_CHECKGROUP = $6
#BTNS_DROPDOWN = $8
#BTNS_AUTOSIZE = $10
#BTNS_NOPREFIX = $20
#BTNS_SHOWTEXT = $40
#BTNS_WHOLEDROPDOWN = $80
#RBBS_USECHEVRON = $00000200
#ItemEx_ShowCheckbox = 1
#ItemEx_ShowRadiocheck = 2
#ItemEx_UseIcon = $1000
#ItemEx_EndRadiocheckGroup = $10000
#SKIN_SAVE_PACKAGE = $1
#RBS_VARHEIGHT = $200
#RBBS_BREAK = $1
#RBBS_CHILDEDGE = $4
#RBBS_GRIPPERALWAYS = $80
#RBBS_NOGRIPPER = $100
#RBBS_FIXEDSIZE = $2
#RBS_BANDBORDERS = $400
#CMDBAR_TOP = $0
#CMDBAR_BOTTOM = $1
#CMDBAR_LEFT = $2
#CMDBAR_RIGHT = $4
#CMDBAR_NEWLINE = $1
#CMDBAR_CHILDMARGIN = $2
#TCX_TRANSPARENT = $70000
#TCX_BK_FILL = $1000
#TCX_BK_GRADIENT = $2000
#TCX_CENTRE = $10
#TCX_RIGHT = $40
#TCX_TOP = $1
#TCX_VCENTRE = $20
#TCX_END_ELLIPSIS = $8000
#TCX_PATH_ELLIPSIS = $4000
#TCX_DISABLE_ESCAPECODES = $200000
#TCX_IGNORE_COLOR_ESCAPECODE = $400000
#TCX_LINK_HOVER = 34175
#TCX_LINK_CLICK = 34176
#PNLX_CENTRE = $10
#PNLX_VCENTRE = $20
#PNLX_HPERCENT = $1
#PNLX_VPERCENT = $2
#PNLX_PERCENT = $3
#PNLX_NOCLIP = $4
#PNLX_STRETCH = $80
#PNLX_HREPEAT = $100
#PNLX_VREPEAT = $200
#PNLX_RIGHT = $400
#PNLX_BOTTOM = $800
#PNLX_TILE = $300
#PNLX_MASKED = $1000
#PNLX_OVERLAY = $2000
#PNLX_STATIC = $4000
#PNLX_IGNORE = -$FFFFFFF
#PNLX_HSCROLL = $10
#PNLX_VSCROLL = $20
#PNLX_SCROLLBARS = $30
#PNLX_AUTOSCROLL = $40
#PNLX_SCROLLBARS_OUTSIDE = $80
#PNLX_HSCROLLHANDLE = $100
#PNLX_VSCROLLHANDLE = $200
#PNLX_AUTOSCROLL_NOHORIZONTAL = $400
#PNLX_AUTOSCROLL_NOVERTICAL = $800
#UISTYLE_BUTTON = 0
#UISTYLE_EXPLORER = 1
#UISTYLE_MOZILLA = 2
#UISTYLE_BEVELED_A = 3
#UISTYLE_BEVELED_B = 4
#UISTYLE_WHIDBEY = 5
#UISTYLE_OFFICE2003 = $1000000
#UISTYLE_OFFICE2007 = $2000000
#UISTYLE_IMAGE = $4000000
#menuTitleTextColor = 0
#menuTitleHotTextColor = 1
#menuTitleHeldTextColor = 2
#menuTitleInactiveTextColor = 3
#menuTextColor = 4
#menuHotColor = 5
#menuHotGradientColor1 = 6
#menuHotGradientColor2 = 7
#menuHotBorder = 8
#menuHeldColor = 9
#menuHeldGradientColor1 = 10
#menuHeldGradientColor2 = 11
#menuHeldBorder = 12
#menuBarColor = 13
#menuCheckboxBackground = 14
#menuCheckboxBorder = 15
#menuCheckboxSelectedBackground = 16
#menuCheckboxSelectedBorder = 17
#menuCheckboxDisabledBackground = 18
#menuCheckboxDisabledBorder = 19
#menuDropShadow = 20
#barGradientColor1 = 21
#barGradientColor2 = 22
#barGradientColor3 = 23
#barGradientColor4 = 24
#separatorBar = 25
#selectedColor = 26
#selectedTextColor = 27
#selectedBorder = 28
#disabledColor = 29
#background = 30
#rebarBackground1 = 31
#rebarBackground2 = 32
#toolstripBackground1 = 33
#toolstripBackground2 = 34
#toolstripBackground3 = 35
#toolstripBackground4 = 36
#toolstripDropdownGradient1 = 37
#toolstripDropdownGradient2 = 38
#toolstripDropdownGradient3 = 39
#toolstripDropdownGradient4 = 40
#toolstripShadow = 41
#gripperSolid = 42
#gripperShadow = 43
#SelectGradientColor1 = 44
#SelectGradientColor2 = 45
#StickySelectGradientColor1 = 46
#StickySelectGradientColor2 = 47
#StickySelectBorderColor = 48
#toolbarButtonTextColor = 49
#toolbarButtonHotTextColor = 50
#toolbarButtonDisabledTextColor = 51
#toolbarHotGradientColor1 = 52
#toolbarHotGradientColor2 = 53
#toolbarSeparator = 54
#toolbarSeparatorShadow = 55
#MaxUIComponents = 56
#UICOLOURMODE_DEFAULT = 0
#UICOLOURMODE_DEFAULT_BLUE = 1
#UICOLOURMODE_DEFAULT_OLIVE = 2
#UICOLOURMODE_DEFAULT_SILVER = 3
#UICOLOURMODE_DEFAULT_GREY = 4
#UICOLOURMODE_CUSTOM = 5
#UICOLOURMODE_CUSTOM_BLUE = 6
#UICOLOURMODE_CUSTOM_OLIVE = 7
#UICOLOURMODE_CUSTOM_SILVER = 8
#UICOLOURMODE_CUSTOM_GREY = 9
#Img_ReturnIcon = $2
#ImgBlend_Greyscale = $1
#ImgBlend_ReturnIcon = $2
#ImgBlend_DestroyOriginal = $4
#Font_Bold = $1
#Font_Italic = $2
#Font_Underline = $4
#Font_StrikeOut = $8
#Font_Antialiased = $10000
#Font_NonAntialiased = $20000
#Font_Cleartype = $40000
#Font_Draft = $80000
#Window_Minimize = $CA0000
#Window_Maximize = $C90000
#Window_Size = $C40000
#Window_Invisible = $10000000
#Window_TitleBar = $C00000
#Window_Tool = $4
#Window_BorderLess = $80000000
#Window_ScreenCentered = $1
#Window_WindowCentered = $2
#Window_OpenMaximized = $1000000
#Window_OpenMinimized = $20000000
#BUTTONEX_STICKYSKIN = 1
#SPLITTEREX_VERTICAL = $1
#SPLITTEREX_FIRSTMINIMUMSIZE = $2
#SPLITTEREX_FIRSTMAXIMUMSIZE = $4
#SPLITTEREX_SECONDMINIMUMSIZE = $8
#SPLITTEREX_SECONDMAXIMUMSIZE = $10
#SPLITTEREX_FIRST = $20
#SPLITTEREX_SECOND = $40
#SPLITTEREX_HIDEFIRST = $80
#SPLITTEREX_HIDESECOND = $100
#SPLITTEREX_POSITION = $200
#SPLITTEREX_ANCHORSIZETO = $400
#SPLITTEREX_ANCHORPOSITION = $800
#SPLITTEREX_ANCHOR = $1000
#SPLITTEREX_DEFAULTSKIN = 0
#SPLITTEREX_DEFAULTSKIN2 = 1
#SPLITTEREX_ANCHOREDTOP = $10000
#SPLITTEREX_ANCHOREDLEFT = $20000
#SPLITTEREX_ANCHOREDBOTTOM = $40000
#SPLITTEREX_ANCHOREDRIGHT = $80000
#SPLITTEREX_MOUSEHOVER = 36155
#SPLITTEREX_MOUSEDOWN = 36156
#SPLITTEREX_MOUSEUP = 36157
#VerticalGRADIENT = 1
#RectangleGRADIENT = 2
#EllipseGRADIENT = 3

Prototype LWord(Long.l) ; Returns the low-order word from a 32-bit number.
Prototype HWord(Long.l) ; Returns the high-order word from a 32-bit number.
Prototype MakeRGB(Red.i, Green.i, Blue.i)
Prototype.l MakeColor(a.l, r.l, g.l, b.l) ; Creates a Windows API compatible 32bit color value with alpha channel.
Prototype.l MakeColour(a.l, r.l, g.l, b.l) ; Creates a Windows API compatible 32bit colour value with alpha channel.
Prototype.l AlphaBlendColour(lColor.l, RColor.l, Alpha.l) ; Returns 32bit colour value mixed with LColor + (RColour * Alpha)
Prototype.l AlphaBlendColor(lColor.l, RColor.l, Alpha.l) ; Returns 32bit color value mixed with LColor + (RColour * Alpha)
Prototype ProGUI_Init()
Prototype StartProGUI(user.p-unicode, k1.l, k2.l, k3.l, k4.l, k5.l, k6.l, k7.l)
Prototype OpenWindowEx(Title.p-unicode, x.i, y.i, InnerWidth.i, InnerHeight.i, Flags.i, Skin.i, ParentHwnd.i) ; Creates a new window
Prototype LimitWindowSize(WindowID.i, MinWidth.l, MinHeight.l, MaxWidth.l, MaxHeight.l) ; sets the minimum and maximum dimensions that a window (HWND) can be resized to.
Prototype HotKey(WindowID.i, ID.i, key.p-unicode) ; sets a keyboard accelerator/shortcut combination specified by key$ to a window. ID = -1 to remove shortcut, Key$ = "" to clear all.
Prototype ImgPath(Path.p-unicode)
Prototype LoadImg(Path.p-unicode, Width.l, Height.l, Flags.i) ; Loads a PNG, JPG, BMP or Icon, returns the new HBITMAP/HICON handle or zero for failure.
Prototype ImgWidth(Image.i)
Prototype ImgHeight(Image.i)
Prototype FreeImg(Image.i) ; Removes an image or icon from memory.
Prototype ImgBlend(Image.i, AlphaChannel.f, Contrast.f, Brightness.f, Color.l, BlendAmount.f, Flags.i) ; Alters an icon/image's alpha/contrast/brightness and/or blends with a color, returns new bitmap or icon
Prototype ImgHueBlend(Image.i, AlphaChannel.f, HueColor.l, Saturation.f, Lightness.f, BlendColor.l, BlendAmount.f, Flags.i) ; Alters an icon/image's alpha/color hue and/or blends with a color, returns new bitmap or icon
Prototype.f ProGUIVersion()
Prototype ProGUI_End()
Prototype SetUIColourMode(mode.l)
Prototype GetUIColourMode() ; Returns the current user interface colour mode
Prototype GetCurrentColourScheme() ; Returns the current active colour scheme
Prototype GetUIColour(style.l, component.l, colourScheme.l) ; returns the colour of a UI style component
Prototype SetUIColour(style.l, component.l, colour.l, colourScheme.l, noUpdate.i) ; sets the colour of a UI style component
Prototype LoadFontEx(Name.p-unicode, PointSize.l, Flags.i) ; loads a font and returns a handle to it
Prototype FreeFontEx(Font.i) ; Removes a font from memory
Prototype SetWindowFont(Hwnd.i, Font.i)
Prototype GetFontSize(fontID.i) ; returns the point size of a font
Prototype GetFontName_(fontID.i) ; returns the face name of a font
Prototype createScrollbarBox(Window.i, x.l, y.l, visible.l)
Prototype CreatePanelEx(PanelID.l, parent.i, x.l, y.l, width.l, height.l, usercallback.i)
Prototype AddPanelExPage(background.i)
Prototype AddPanelExImagePage(background.i, backgroundImg.i, imageX.l, imageY.l, imageWidth.l, imageHeight.l, style.l)
Prototype InsertPanelExPage(Panel.i, page.i, background.i) ; Inserts a PanelEx page into a PanelEx.
Prototype InsertPanelExImagePage(Panel.i, page.i, background.i, backgroundImg.i, imageX.l, imageY.l, imageWidth.l, imageHeight.l, style.l) ; Inserts a PanelEx image page into a PanelEx.
Prototype SetPanelExPageBorder(Panel.i, index.i, BorderImage.i, BorderMask.i, BorderRect.i, noRefresh.i) ; Sets a PanelEx's page border.
Prototype SetPanelExPageBackground(Panel.i, page.i, background.i, backgroundImg.i, imageX.l, imageY.l, imageWidth.l, imageHeight.l, style.l, noRefresh.i) ; Sets a PanelEx's page background.
Prototype SetPanelExPageAlpha(Panel.i, Page.i, Alpha.i, noRefresh.i) ; Sets a PanelEx page's alpha transparency, 0 = fully transparent, 255 = opaque.
Prototype RefreshPanelEx(Panel.i)
Prototype SetPanelExPageScrolling(Panel.i, index.i, flags.l, Value.l) ; Sets a PanelEx's page scrolling properties
Prototype GetPanelExPageScrolling(Panel.i, index.i, flag.l) ; Returns a PanelEx page's scrolling property value specified by flag.
Prototype SetPanelExPageCursor(Panel.i, index.i, Cursor.i) ; Sets a PanelEx page's mouse cursor
Prototype ShowPanelExPage(Panel.i, index.i)
Prototype PanelExID(Panel.i, index.i) ; returns the HWND of a PanelEx Page or if index = -1, the PanelEx HWND
Prototype PanelExPageIndex(Panel.i)
Prototype FreePanelEx(id.i) ; Frees a PanelEx from memory.
Prototype FreePanelExPage(id.i, index.l) ; Removes a PanelExPage from PanelEx.
Prototype PanelExWidth(Panel.i) ; Returns width of PanelEx in pixels
Prototype PanelExHeight(Panel.i) ; Returns height of PanelEx in pixels
Prototype GetDefaultGlobalSkinColourTheme_() ; Gets the default detected global colour theme name
Prototype SetGlobalSkinColourTheme(Name.p-unicode) ; Sets the global colour theme name that all the skins will use if supported
Prototype GetGlobalSkinColourTheme_() ; Gets the current global colour theme name
Prototype SetSkinPath(Path.p-unicode) ; Sets the file path of where skins/resources are automatically looked for
Prototype LoadSkin(Path.p-unicode) ; Loads and returns handle to a skin
Prototype SaveSkin(Skin.i, Path.p-unicode, Flags.i) ; Saves a skin
Prototype CreateSkin(Name.p-unicode) ; Creates a skin
Prototype GetSkinName_(Skin.i) ; Returns the name of a skin.
Prototype GetSkinHandle(Name.p-unicode) ; Returns the handle of a created/loaded Skin by name.
Prototype SetSkinProperty(Skin.i, Component.p-unicode, State.p-unicode, Property.p-unicode, Value.p-unicode) ; Sets a skin's property
Prototype GetSkinProperty_(Skin.i, Component.p-unicode, State.p-unicode, Property.p-unicode) ; Gets a skin's property
Prototype GetSkinPropertyParam_(skin.i, Component.p-unicode, State.p-unicode, Property.p-unicode, Parameter.p-unicode) ; Returns a skin property parameter value
Prototype GetSkinPropertySubParam_(Skin.i, Component.p-unicode, State.p-unicode, Property.p-unicode, Parameter.p-unicode, Index.i) ; Returns a skin property parameter's comma separated sub value
Prototype CountSkinPropertySubParams(Skin.i, Component.p-unicode, State.p-unicode, Property.p-unicode, Parameter.p-unicode) ; Returns number of skin property parameter's comma separated sub values
Prototype GetSkinPropertyColour(Skin.i, Component.p-unicode, State.p-unicode, Property.p-unicode) ; if skin's property is a colour then returns numerical colour value else -1
Prototype GetSkinPropertySubParamColour(Skin.i, Component.p-unicode, State.p-unicode, Property.p-unicode, Parameter.p-unicode, Index.i) ; if skin property parameter's comma separated sub value is a colour then returns numerical colour value else -1
Prototype GetSkinPropertyData(Skin.i, Component.p-unicode, State.p-unicode, Property.p-unicode) ; Gets a pointer to skin's property data
Prototype GetSkinPropertyDataSize(Skin.i, Component.p-unicode, State.p-unicode, Property.p-unicode) ; Get the size in bytes of skin's property data
Prototype SetSkinPropertyData(Skin.i, Component.p-unicode, State.p-unicode, Property.p-unicode, ResourceData.i) ; Set skin's property data
Prototype SetSkinPropertyDataSize(Skin.i, Component.p-unicode, State.p-unicode, Property.p-unicode, DataSize.i) ; Set the size in bytes of skin's property data
Prototype MergeSkins(Skin1.i, Skin2.i, Name.p-unicode) ; Merges two skins, returning a new skin.
Prototype CopySkin(Skin.i) ; Returns a copy of the specified skin
Prototype IsSkin(Skin.i) ; Returns true if handle is a skin.
Prototype FreeSkin(Skin.i) ; Frees a skin from memory.
Prototype CreateMenuEx(MenuID.l, WindowID.i, style.l) ; Creates a "floating" menu bar, see docs for different styles...
Prototype CreatePopupMenuEx(MenuID.l, style.l) ; Creates a popup menu
Prototype DisplayPopupMenuEx(menu.i, WindowID.i, x.l, y.l) ; Displays a PopupMenuEx on screen at x, y coordinates
Prototype MenuExF10Disable(disable.i)
Prototype MenuExAutoHotKeyDisable(disable.i)
Prototype SetMenuExStyle(menu.i, style.l) ; sets the rendering style of a menuEx
Prototype MenuTitleEx(title.p-unicode) ; Creates a title on menu bar
Prototype SetMenuExImageSize(width.l, height.l) ; sets the image dimensions for icons in menu
Prototype MenuItemEx(MenuItemID.l, text.p-unicode, normalImageID.i, hotImageID.i, disabledImageID.i, submenu.i) ; Creates a menu item with an optional icon
Prototype MenuBarEx()
Prototype SetMenuItemEx(menu.i, itemID.l, text.p-unicode, normalImageID.i, hotImageID.i, disabledImageID.i, submenu.i) ; Sets a menu item with optional image data
Prototype RemoveMenuItemEx(menu.i, itemID.l, byPosition.i) ; Removes a menu item from menuEx
Prototype InsertMenuItemEx(menu.i, Position.l, newItemID.l, text.p-unicode, normalImageID.i, hotImageID.i, disabledImageID.i, submenu.i) ; Inserts a new menu item into a menuEx
Prototype GetMenuItemExText_(menu.i, itemID.l)
Prototype SetMenuExFont(fontID.i) ; Sets the font that MenuExs use for rendering text
Prototype GetMenuExFont() ; Gets the font that MenuExs use for rendering text
Prototype MenuExID(id.l)
Prototype DisableMenuItemEx(menu.i, itemID.l, state.i)
Prototype SetMenuExItemState(menu.i, itemID.l, state.l) ; Sets a menu item checkbox/radiocheck state
Prototype GetMenuExItemState(menu.i, itemID.l) ; Gets a menu item checkbox/radiocheck state
Prototype CalcMenuItemWidth(menu.i) ; Calculates the width of a popup menu
Prototype GetMenuExBarHeight(menu.i)
Prototype FreeMenuEx(menu.i) ; frees an extended menu from memory
Prototype CreateToolBarEx(id.l, WindowID.i, iconWidth.l, iconHeight.l, style.l) ; Creates an extended toolbar
Prototype SetToolBarExStyle(toolbar.i, style.l) ; Sets the rendering style of an extended toolbar
Prototype FreeToolBarEx(toolbar.i) ; Frees an extended toolbar from memory
Prototype ToolBarImageButtonEx(buttonID.l, text.p-unicode, normalImageID.i, hotImageID.i, disabledImageID.i, style.l) ; Creates an image toolbar button
Prototype ToolBarButtonEx(buttonID.l, text.p-unicode, style.l) ; Creates a normal text toolbar button
Prototype ToolBarSeparatorEx() ; Creates a ToolbarEx separator
Prototype ToolBarDropdownImageButtonEx(buttonID.l, MenuID.i, text.p-unicode, normalImageID.i, hotImageID.i, disabledImageID.i, style.l) ; Creates a dropdown type toolbar button
Prototype ToolBarExAttachDropdownMenu(toolbar.i, buttonID.l, menu.i)
Prototype ToolBarExGadget(buttonID.l, GadgetID.i, LeftPadding.l, TopPadding.l, RightPadding.l, BottomPadding.l, ApplyUIStyle.i) ; Adds a gadget/control to the current ToolBarEx
Prototype InsertToolBarButtonEx(toolbar.i, position.l, buttonID.l, text.p-unicode, style.l) ; Inserts a toolbar button at position
Prototype InsertToolBarImageButtonEx(toolbar.i, position.l, buttonID.l, text.p-unicode, normalImageID.i, hotImageID.i, disabledImageID.i, style.l) ; Inserts a toolbar image button at position
Prototype InsertToolBarSeparatorEx(toolbar.i, position.l) ; Inserts a toolbar separator at position
Prototype InsertToolBarDropdownImageButtonEx(toolbar.i, position.l, buttonID.l, MenuID.i, text.p-unicode, normalImageID.i, hotImageID.i, disabledImageID.i, style.l) ; Inserts a dropdown type toolbar button at position
Prototype InsertToolBarExGadget(toolbar.i, position.l, buttonID.l, GadgetID.i, LeftPadding.l, TopPadding.l, RightPadding.l, BottomPadding.l, ApplyUIStyle.i) ; Inserts a gadget/control into a ToolBarEx at position
Prototype DisableToolbarExButton(toolbar.i, buttonID.l, state.i)
Prototype SelectToolbarExButton(toolbar.i, buttonID.l, state.i)
Prototype ChangeToolbarExButton(toolbar.i, buttonID.l, text.p-unicode, normalImageID.i, hotImageID.i, disabledImageID.i)
Prototype RemoveToolBarExButton(toolbar.i, buttonID.l, byPosition.i) ; Removes a button from a ToolBarEx
Prototype HideToolBarExButton(toolbar.i, buttonID.l, hide.i) ; Hides a button in a ToolBarEx, hide = True/False
Prototype ToolBarExToolTip(id.i, buttonID.l, text.p-unicode) ; Associates a tooltip with a toolbar button.
Prototype ToolBarExToolTipDelay(id.i, initial.l, autopop.l, reshow.l)
Prototype ToolBarExID(id.l) ; Returns Windows handle of ToolBarEx
Prototype ToolBarExGadgetID(toolbar.i, ButtonID.l) ; returns the Windows Handle (HWND) of a ToolBarEx gadget/control
Prototype ToolBarExButtonWidth(toolbar.i, ButtonID.l) ; returns width of a ToolBarEx button
Prototype SetToolBarExButtonWidth(toolbar.i, ButtonID.l, Width.l) ; sets the width of a ToolBarEx button
Prototype ToolBarExHeight(toolbar.i) ; returns height of ToolBarEx
Prototype SetToolBarExHeight(toolbar.i, Height.l) ; sets the height in pixels of all the buttons in a ToolBarEx
Prototype DisableToolBarExButtonFade(toolbar.i) ; disables Windows Vista/Windows 7 fade animation
Prototype CreateRebar(id.l, WindowID.i, backgroundImage.i, style.l, doublebuffer.i) ; Creates a rebar
Prototype SetRebarStyle(rebar.i, style.l) ; Sets the rendering style of a rebar
Prototype SetRebarUserCallback(Rebar.i, UserCallback.i) ; Sets the User Callback function of a rebar
Prototype AddRebarGadget(gadgetID.i, text.p-unicode, width.l, minWidth.l, height.l, backgroundImage.i, style.l) ; Adds a gadget to a rebar
Prototype ShowRebarBand(rebar.i, band.i, state.i)
Prototype RebarHeight(rebar.i) ; returns height of rebar in pixels
Prototype FreeRebar(rebar.i) ; Frees a rebar from memory.
Prototype DeleteRebarBand(rebar.i, band.l) ; Deletes a Rebar's band.
Prototype InsertRebarGadget(rebar.i, band.l, gadgetID.i, text.p-unicode, width.l, minWidth.l, height.l, backgroundImage.i, style.l) ; Inserts a gadget to a rebar band.
Prototype RebarID(id.l)
Prototype RebarBandID(Rebar.i, Index.l) ; Returns the ID of the Rebar band at position Index.l
Prototype MoveRebarBand(Rebar.i, SourceBandIndex.l, DestinationBandIndex.l) ; Moves a Rebar band to a new zero based index position
Prototype SaveRebarLayout(Rebar.i, Path.p-unicode) ; Saves the layout of a Rebar's bands to the file specified in Path.s
Prototype LoadRebarLayout(Rebar.i, LayoutFilename.p-unicode) ; Loads a previously saved Rebar's layout
Prototype TextControlEx(Window.i, id.l, x.i, y.i, width.l, height.l, text.p-unicode, flags.l)
Prototype SetTextControlExPadding(id.i, leftPadding.l, topPadding.l, rightPadding.l, bottomPadding.l)
Prototype SetTextControlExFont(id.i, fontID.i, antialiased.i)
Prototype SetTextControlExColour(id.i, textColour.l, backColour.l)
Prototype SetTextControlExGradient(id.i, Gradient.i)
Prototype SetTextControlExText(id.i, text.p-unicode)
Prototype SetTextControlExStyle(id.i, style.l)
Prototype SetTextControlExLinePadding(id.i, padding.l)
Prototype SetTextControlExDimensions(id.i, width.l, height.l) ; sets the width/height of a previously created TextControlEx
Prototype TextControlExWidth(id.i) ; Returns the width in pixels of a TextControlEx
Prototype TextControlExHeight(id.i) ; Returns the height in pixels of a TextControlEx
Prototype TextControlExID(id.l) ; Returns Windows handle to TextControlEx
Prototype FreeTextControlEx(id.i) ; Frees a TextControlEx from memory.
Prototype changeListiconSubIcon(listicon.i, itempos.l, subitempos.l, image.i)
Prototype ImageButtonEx(WindowID.i, buttonID.l, x.l, y.l, imageWidth.l, imageHeight.l, normalImageID.i, hotImageID.i, pressedImageID.i, disabledImageID.i) ; Creates an extended image button
Prototype SetButtonExSkin(ID.i, Skin.i, ComponentName.p-unicode) ; Sets a ButtonEx's skin
Prototype GetButtonExSkin(ID.i) ; Gets a ButtonEx's skin
Prototype ButtonEx(WindowID.i, buttonID.l, x.l, y.l, Width.l, Height.l, Text.p-unicode, normalImageID.i, hotImageID.i, pressedImageID.i, disabledImageID.i, skin.i) ; Creates an extended skinned button
Prototype ToggleButtonEx(WindowID.i, buttonID.l, x.l, y.l, Width.l, Height.l, Text.p-unicode, normalImageID.i, hotImageID.i, pressedImageID.i, selectedImageID.i, hotSelectedImageID.i, pressedSelectedImageID.i, disabledImageID.i, skin.i) ; Creates an extended skinned toggle state button
Prototype RadioButtonEx(WindowID.i, buttonID.l, x.l, y.l, Width.l, Height.l, Text.p-unicode, skin.i) ; Creates an extended skinned radio button or closes the current radio group if WindowID is null
Prototype CheckButtonEx(WindowID.i, buttonID.l, x.l, y.l, Width.l, Height.l, Text.p-unicode, skin.i) ; Creates an extended skinned check box button
Prototype ChangeButtonEx(id.i, normalImageID.i, hotImageID.i, pressedImageID.i, selectedImageID.i, hotSelectedImageID.i, pressedSelectedImageID.i, disabledImageID.i) ; Changes a ButtonEx's images
Prototype ButtonExToolTip(id.i, text.p-unicode)
Prototype ButtonExID(id.l) ; Returns a handle to a ButtonEx's window
Prototype DisableButtonEx(id.i, disable.i) ; Disables/enables a ButtonEx, disable = True/False
Prototype FreeButtonEx(id.i) ; Frees a ButtonEx from memory
Prototype SetSplitterExSkin(ID.i, Skin.i, ComponentName.p-unicode) ; Sets a SplitterEx's skin
Prototype GetSplitterExSkin(ID.i) ; Gets a SplitterEx's skin
Prototype SplitterEx(WindowID.i, SplitterID.l, x.l, y.l, Width.l, Height.l, WindowID1.i, WindowID2.i, Skin.i, Flags.i) ; Creates a skinned splitter control
Prototype SetSplitterExAttribute(ID.i, Attribute.i, Value.i) ; Sets a SplitterEx's attributes
Prototype GetSplitterExAttribute(ID.i, Attribute.i) ; Gets a SplitterEx's attribute
Prototype SplitterExID(id.l) ; Returns a handle to a SplitterEx's window
Prototype FreeSplitterEx(id.i) ; Frees a SplitterEx from memory
Prototype CreateGradient(style.l, colour1.l, colour2.l) ; Creates a gradient
Prototype SetGradient(Gradient.i, style.l) ; Sets a previously created gradient's style
Prototype SetGradientColour(Gradient.i, Position.f, Colour.l) ; Sets a gradient's colour at blend position
Prototype GetGradientColour(Gradient.i, Position.f) ; Gets a gradient's colour at blend position
Prototype RemoveGradientColour(Gradient.i, Position.f) ; Removes a gradient's colour at blend position
Prototype FreeGradient(Gradient.i) ; Frees a gradient from memory.
Prototype CreateCommandBar(id.l, WindowID.i, style.l) ; Creates a CommandBar container
Prototype CreateCommandBarEx(id.l, WindowID.i, background.i, backgroundImg.i, imageX.l, imageY.l, imageWidth.l, imageHeight.l, style.l) ; Creates a CommandBar container
Prototype AddCommandBarGadget(gadgetID.i, text.p-unicode, minWidth.l, minheight.l, style.l) ; Adds a Gadget to the current CommandBar container
Prototype SetExplorerBarSkin(ID.i, Skin.i, ComponentName.p-unicode) ; Sets an ExplorerBar's skin
Prototype CreateExplorerBar(WindowID.i, ExplorerBarID.l, x.l, y.l, Width.l, Height.l, Skin.i) ; Creates an empty skinned ExplorerBar control
Prototype AddExplorerBarImageGroup(Title.p-unicode, normalImageID.i, hotImageID.i, pressedImageID.i, selectedImageID.i, hotSelectedImageID.i, pressedSelectedImageID.i, disabledImageID.i) ; Adds a new group with header icon/image to the current previously created ExplorerBar control
Prototype AddExplorerBarGroup(Title.p-unicode) ; Adds a new group to the current previously created ExplorerBar control
Prototype ExplorerBarImageItem(ItemID.l, Text.p-unicode, normalImageID.i, hotImageID.i, pressedImageID.i, disabledImageID.i) ; Adds a new item with icon/image to the current previously created ExplorerBar group.
Prototype ExplorerBarItem(ItemID.l, Text.p-unicode) ; Adds a new item to the current previously created ExplorerBar group.
Prototype ExplorerBarID(id.l) ; Returns a handle to an ExplorerBar's window (HWND)
Prototype FreeExplorerBar(id.i) ; Frees an ExplorerBar from memory

Global LWord.LWord
Global HWord.HWord
Global MakeRGB.MakeRGB
Global MakeColor.MakeColor
Global MakeColour.MakeColour
Global AlphaBlendColour.AlphaBlendColour
Global AlphaBlendColor.AlphaBlendColor
Global ProGUI_Init.ProGUI_Init
Global OpenWindowEx.OpenWindowEx
Global LimitWindowSize.LimitWindowSize
Global HotKey.HotKey
Global ImgPath.ImgPath
Global LoadImg.LoadImg
Global ImgWidth.ImgWidth
Global ImgHeight.ImgHeight
Global FreeImg.FreeImg
Global ImgBlend.ImgBlend
Global ImgHueBlend.ImgHueBlend
Global ProGUIVersion.ProGUIVersion
Global ProGUI_End.ProGUI_End
Global SetUIColourMode.SetUIColourMode
Global GetUIColourMode.GetUIColourMode
Global GetCurrentColourScheme.GetCurrentColourScheme
Global GetUIColour.GetUIColour
Global SetUIColour.SetUIColour
Global LoadFontEx.LoadFontEx
Global FreeFontEx.FreeFontEx
Global SetWindowFont.SetWindowFont
Global createScrollbarBox.createScrollbarBox
Global CreatePanelEx.CreatePanelEx
Global SetPanelExPageBorder.SetPanelExPageBorder
Global SetPanelExPageBackground.SetPanelExPageBackground
Global SetPanelExPageAlpha.SetPanelExPageAlpha
Global RefreshPanelEx.RefreshPanelEx
Global SetPanelExPageScrolling.SetPanelExPageScrolling
Global GetPanelExPageScrolling.GetPanelExPageScrolling
Global SetPanelExPageCursor.SetPanelExPageCursor
Global ShowPanelExPage.ShowPanelExPage
Global PanelExID.PanelExID
Global PanelExPageIndex.PanelExPageIndex
Global FreePanelEx.FreePanelEx
Global FreePanelExPage.FreePanelExPage
Global PanelExWidth.PanelExWidth
Global PanelExHeight.PanelExHeight
Global SetGlobalSkinColourTheme.SetGlobalSkinColourTheme
Global SetSkinPath.SetSkinPath
Global LoadSkin.LoadSkin
Global SaveSkin.SaveSkin
Global CreateSkin.CreateSkin
Global GetSkinHandle.GetSkinHandle
Global SetSkinProperty.SetSkinProperty
Global CountSkinPropertySubParams.CountSkinPropertySubParams
Global GetSkinPropertyColour.GetSkinPropertyColour
Global GetSkinPropertySubParamColour.GetSkinPropertySubParamColour
Global GetSkinPropertyData.GetSkinPropertyData
Global GetSkinPropertyDataSize.GetSkinPropertyDataSize
Global SetSkinPropertyData.SetSkinPropertyData
Global SetSkinPropertyDataSize.SetSkinPropertyDataSize
Global MergeSkins.MergeSkins
Global CopySkin.CopySkin
Global IsSkin.IsSkin
Global FreeSkin.FreeSkin
Global CreateMenuEx.CreateMenuEx
Global CreatePopupMenuEx.CreatePopupMenuEx
Global DisplayPopupMenuEx.DisplayPopupMenuEx
Global MenuExF10Disable.MenuExF10Disable
Global MenuExAutoHotKeyDisable.MenuExAutoHotKeyDisable
Global SetMenuExStyle.SetMenuExStyle
Global MenuTitleEx.MenuTitleEx
Global SetMenuExImageSize.SetMenuExImageSize
Global MenuItemEx.MenuItemEx
Global MenuBarEx.MenuBarEx
Global SetMenuItemEx.SetMenuItemEx
Global RemoveMenuItemEx.RemoveMenuItemEx
Global InsertMenuItemEx.InsertMenuItemEx
Global GetMenuExFont.GetMenuExFont
Global MenuExID.MenuExID
Global DisableMenuItemEx.DisableMenuItemEx
Global SetMenuExItemState.SetMenuExItemState
Global GetMenuExItemState.GetMenuExItemState
Global CalcMenuItemWidth.CalcMenuItemWidth
Global GetMenuExBarHeight.GetMenuExBarHeight
Global FreeMenuEx.FreeMenuEx
Global CreateToolBarEx.CreateToolBarEx
Global SetToolBarExStyle.SetToolBarExStyle
Global FreeToolBarEx.FreeToolBarEx
Global ToolBarImageButtonEx.ToolBarImageButtonEx
Global ToolBarButtonEx.ToolBarButtonEx
Global ToolBarSeparatorEx.ToolBarSeparatorEx
Global ToolBarDropdownImageButtonEx.ToolBarDropdownImageButtonEx
Global ToolBarExAttachDropdownMenu.ToolBarExAttachDropdownMenu
Global ToolBarExGadget.ToolBarExGadget
Global InsertToolBarButtonEx.InsertToolBarButtonEx
Global InsertToolBarImageButtonEx.InsertToolBarImageButtonEx
Global InsertToolBarSeparatorEx.InsertToolBarSeparatorEx
Global InsertToolBarDropdownImageButtonEx.InsertToolBarDropdownImageButtonEx
Global InsertToolBarExGadget.InsertToolBarExGadget
Global DisableToolbarExButton.DisableToolbarExButton
Global SelectToolbarExButton.SelectToolbarExButton
Global ChangeToolbarExButton.ChangeToolbarExButton
Global RemoveToolBarExButton.RemoveToolBarExButton
Global HideToolBarExButton.HideToolBarExButton
Global ToolBarExToolTip.ToolBarExToolTip
Global ToolBarExToolTipDelay.ToolBarExToolTipDelay
Global ToolBarExID.ToolBarExID
Global ToolBarExGadgetID.ToolBarExGadgetID
Global ToolBarExButtonWidth.ToolBarExButtonWidth
Global SetToolBarExButtonWidth.SetToolBarExButtonWidth
Global ToolBarExHeight.ToolBarExHeight
Global SetToolBarExHeight.SetToolBarExHeight
Global DisableToolBarExButtonFade.DisableToolBarExButtonFade
Global CreateRebar.CreateRebar
Global SetRebarStyle.SetRebarStyle
Global SetRebarUserCallback.SetRebarUserCallback
Global AddRebarGadget.AddRebarGadget
Global ShowRebarBand.ShowRebarBand
Global RebarHeight.RebarHeight
Global FreeRebar.FreeRebar
Global DeleteRebarBand.DeleteRebarBand
Global InsertRebarGadget.InsertRebarGadget
Global RebarID.RebarID
Global RebarBandID.RebarBandID
Global MoveRebarBand.MoveRebarBand
Global SaveRebarLayout.SaveRebarLayout
Global LoadRebarLayout.LoadRebarLayout
Global TextControlEx.TextControlEx
Global SetTextControlExPadding.SetTextControlExPadding
Global SetTextControlExColour.SetTextControlExColour
Global SetTextControlExGradient.SetTextControlExGradient
Global SetTextControlExText.SetTextControlExText
Global SetTextControlExStyle.SetTextControlExStyle
Global SetTextControlExLinePadding.SetTextControlExLinePadding
Global SetTextControlExDimensions.SetTextControlExDimensions
Global TextControlExWidth.TextControlExWidth
Global TextControlExHeight.TextControlExHeight
Global TextControlExID.TextControlExID
Global FreeTextControlEx.FreeTextControlEx
Global ImageButtonEx.ImageButtonEx
Global SetButtonExSkin.SetButtonExSkin
Global GetButtonExSkin.GetButtonExSkin
Global ButtonEx.ButtonEx
Global ToggleButtonEx.ToggleButtonEx
Global RadioButtonEx.RadioButtonEx
Global CheckButtonEx.CheckButtonEx
Global ChangeButtonEx.ChangeButtonEx
Global ButtonExToolTip.ButtonExToolTip
Global ButtonExID.ButtonExID
Global DisableButtonEx.DisableButtonEx
Global FreeButtonEx.FreeButtonEx
Global SetSplitterExSkin.SetSplitterExSkin
Global GetSplitterExSkin.GetSplitterExSkin
Global SplitterEx.SplitterEx
Global SetSplitterExAttribute.SetSplitterExAttribute
Global GetSplitterExAttribute.GetSplitterExAttribute
Global SplitterExID.SplitterExID
Global FreeSplitterEx.FreeSplitterEx
Global CreateGradient.CreateGradient
Global SetGradient.SetGradient
Global SetGradientColour.SetGradientColour
Global GetGradientColour.GetGradientColour
Global RemoveGradientColour.RemoveGradientColour
Global FreeGradient.FreeGradient
Global CreateCommandBar.CreateCommandBar
Global CreateCommandBarEx.CreateCommandBarEx
Global AddCommandBarGadget.AddCommandBarGadget
Global SetExplorerBarSkin.SetExplorerBarSkin
Global CreateExplorerBar.CreateExplorerBar
Global AddExplorerBarImageGroup.AddExplorerBarImageGroup
Global AddExplorerBarGroup.AddExplorerBarGroup
Global ExplorerBarImageItem.ExplorerBarImageItem
Global ExplorerBarItem.ExplorerBarItem
Global ExplorerBarID.ExplorerBarID
Global FreeExplorerBar.FreeExplorerBar

Procedure StartProGUI(user.s, k1.l, k2.l, k3.l, k4.l, k5.l, k6.l, k7.l)
   Static ProGUI

   If Not ProGUI
      CompilerIf #PB_Compiler_Processor = #PB_Processor_x86
         ProGUI = OpenLibrary(#PB_Any, "ProGUI.dll")
      CompilerElse
         ProGUI = OpenLibrary(#PB_Any, "ProGUI64.dll")
      CompilerEndIf
   EndIf

   If Not ProGUI
      CompilerIf #PB_Compiler_Processor = #PB_Processor_x86
         MessageRequester("Error!", "Could Not open ProGUI.dll", #PB_MessageRequester_Ok)
      CompilerElse
         MessageRequester("Error!", "Could Not open ProGUI64.dll", #PB_MessageRequester_Ok)
      CompilerEndIf
      End
   Else
      LWord = GetFunction(ProGUI, "LWord")
      HWord = GetFunction(ProGUI, "HWord")
      MakeRGB = GetFunction(ProGUI, "MakeRGB")
      MakeColor = GetFunction(ProGUI, "MakeColor")
      MakeColour = GetFunction(ProGUI, "MakeColour")
      AlphaBlendColour = GetFunction(ProGUI, "AlphaBlendColour")
      AlphaBlendColor = GetFunction(ProGUI, "AlphaBlendColor")
      ProGUI_Init = GetFunction(ProGUI, "ProGUI_Init")
      OpenWindowEx = GetFunction(ProGUI, "OpenWindowEx")
      LimitWindowSize = GetFunction(ProGUI, "LimitWindowSize")
      HotKey = GetFunction(ProGUI, "HotKey")
      ImgPath = GetFunction(ProGUI, "ImgPath")
      LoadImg = GetFunction(ProGUI, "LoadImg")
      ImgWidth = GetFunction(ProGUI, "ImgWidth")
      ImgHeight = GetFunction(ProGUI, "ImgHeight")
      FreeImg = GetFunction(ProGUI, "FreeImg")
      ImgBlend = GetFunction(ProGUI, "ImgBlend")
      ImgHueBlend = GetFunction(ProGUI, "ImgHueBlend")
      ProGUIVersion = GetFunction(ProGUI, "ProGUIVersion")
      ProGUI_End = GetFunction(ProGUI, "ProGUI_End")
      SetUIColourMode = GetFunction(ProGUI, "SetUIColourMode")
      GetUIColourMode = GetFunction(ProGUI, "GetUIColourMode")
      GetCurrentColourScheme = GetFunction(ProGUI, "GetCurrentColourScheme")
      GetUIColour = GetFunction(ProGUI, "GetUIColour")
      SetUIColour = GetFunction(ProGUI, "SetUIColour")
      LoadFontEx = GetFunction(ProGUI, "LoadFontEx")
      FreeFontEx = GetFunction(ProGUI, "FreeFontEx")
      SetWindowFont = GetFunction(ProGUI, "SetWindowFont")
      Shared GetFontSize_.GetFontSize
      GetFontSize_ = GetFunction(ProGUI, "GetFontSize")
      Shared GetFontName_.GetFontName_
      GetFontName_ = GetFunction(ProGUI, "GetFontName")
      createScrollbarBox = GetFunction(ProGUI, "createScrollbarBox")
      CreatePanelEx = GetFunction(ProGUI, "CreatePanelEx")
      Shared AddPanelExPage_.AddPanelExPage
      AddPanelExPage_ = GetFunction(ProGUI, "AddPanelExPage")
      Shared AddPanelExImagePage_.AddPanelExImagePage
      AddPanelExImagePage_ = GetFunction(ProGUI, "AddPanelExImagePage")
      Shared InsertPanelExPage_.InsertPanelExPage
      InsertPanelExPage_ = GetFunction(ProGUI, "InsertPanelExPage")
      Shared InsertPanelExImagePage_.InsertPanelExImagePage
      InsertPanelExImagePage_ = GetFunction(ProGUI, "InsertPanelExImagePage")
      SetPanelExPageBorder = GetFunction(ProGUI, "SetPanelExPageBorder")
      SetPanelExPageBackground = GetFunction(ProGUI, "SetPanelExPageBackground")
      SetPanelExPageAlpha = GetFunction(ProGUI, "SetPanelExPageAlpha")
      RefreshPanelEx = GetFunction(ProGUI, "RefreshPanelEx")
      SetPanelExPageScrolling = GetFunction(ProGUI, "SetPanelExPageScrolling")
      GetPanelExPageScrolling = GetFunction(ProGUI, "GetPanelExPageScrolling")
      SetPanelExPageCursor = GetFunction(ProGUI, "SetPanelExPageCursor")
      ShowPanelExPage = GetFunction(ProGUI, "ShowPanelExPage")
      PanelExID = GetFunction(ProGUI, "PanelExID")
      PanelExPageIndex = GetFunction(ProGUI, "PanelExPageIndex")
      FreePanelEx = GetFunction(ProGUI, "FreePanelEx")
      FreePanelExPage = GetFunction(ProGUI, "FreePanelExPage")
      PanelExWidth = GetFunction(ProGUI, "PanelExWidth")
      PanelExHeight = GetFunction(ProGUI, "PanelExHeight")
      Shared GetDefaultGlobalSkinColourTheme_.GetDefaultGlobalSkinColourTheme_
      GetDefaultGlobalSkinColourTheme_ = GetFunction(ProGUI, "GetDefaultGlobalSkinColourTheme")
      SetGlobalSkinColourTheme = GetFunction(ProGUI, "SetGlobalSkinColourTheme")
      Shared GetGlobalSkinColourTheme_.GetGlobalSkinColourTheme_
      GetGlobalSkinColourTheme_ = GetFunction(ProGUI, "GetGlobalSkinColourTheme")
      SetSkinPath = GetFunction(ProGUI, "SetSkinPath")
      LoadSkin = GetFunction(ProGUI, "LoadSkin")
      SaveSkin = GetFunction(ProGUI, "SaveSkin")
      CreateSkin = GetFunction(ProGUI, "CreateSkin")
      Shared GetSkinName_.GetSkinName_
      GetSkinName_ = GetFunction(ProGUI, "GetSkinName")
      GetSkinHandle = GetFunction(ProGUI, "GetSkinHandle")
      SetSkinProperty = GetFunction(ProGUI, "SetSkinProperty")
      Shared GetSkinProperty_.GetSkinProperty_
      GetSkinProperty_ = GetFunction(ProGUI, "GetSkinProperty")
      Shared GetSkinPropertyParam_.GetSkinPropertyParam_
      GetSkinPropertyParam_ = GetFunction(ProGUI, "GetSkinPropertyParam")
      Shared GetSkinPropertySubParam_.GetSkinPropertySubParam_
      GetSkinPropertySubParam_ = GetFunction(ProGUI, "GetSkinPropertySubParam")
      CountSkinPropertySubParams = GetFunction(ProGUI, "CountSkinPropertySubParams")
      GetSkinPropertyColour = GetFunction(ProGUI, "GetSkinPropertyColour")
      GetSkinPropertySubParamColour = GetFunction(ProGUI, "GetSkinPropertySubParamColour")
      GetSkinPropertyData = GetFunction(ProGUI, "GetSkinPropertyData")
      GetSkinPropertyDataSize = GetFunction(ProGUI, "GetSkinPropertyDataSize")
      SetSkinPropertyData = GetFunction(ProGUI, "SetSkinPropertyData")
      SetSkinPropertyDataSize = GetFunction(ProGUI, "SetSkinPropertyDataSize")
      MergeSkins = GetFunction(ProGUI, "MergeSkins")
      CopySkin = GetFunction(ProGUI, "CopySkin")
      IsSkin = GetFunction(ProGUI, "IsSkin")
      FreeSkin = GetFunction(ProGUI, "FreeSkin")
      CreateMenuEx = GetFunction(ProGUI, "CreateMenuEx")
      CreatePopupMenuEx = GetFunction(ProGUI, "CreatePopupMenuEx")
      DisplayPopupMenuEx = GetFunction(ProGUI, "DisplayPopupMenuEx")
      MenuExF10Disable = GetFunction(ProGUI, "MenuExF10Disable")
      MenuExAutoHotKeyDisable = GetFunction(ProGUI, "MenuExAutoHotKeyDisable")
      SetMenuExStyle = GetFunction(ProGUI, "SetMenuExStyle")
      MenuTitleEx = GetFunction(ProGUI, "MenuTitleEx")
      SetMenuExImageSize = GetFunction(ProGUI, "SetMenuExImageSize")
      MenuItemEx = GetFunction(ProGUI, "MenuItemEx")
      MenuBarEx = GetFunction(ProGUI, "MenuBarEx")
      SetMenuItemEx = GetFunction(ProGUI, "SetMenuItemEx")
      RemoveMenuItemEx = GetFunction(ProGUI, "RemoveMenuItemEx")
      InsertMenuItemEx = GetFunction(ProGUI, "InsertMenuItemEx")
      Shared GetMenuItemExText_.GetMenuItemExText_
      GetMenuItemExText_ = GetFunction(ProGUI, "GetMenuItemExText")
      Shared SetMenuExFont_.SetMenuExFont
      SetMenuExFont_ = GetFunction(ProGUI, "SetMenuExFont")
      GetMenuExFont = GetFunction(ProGUI, "GetMenuExFont")
      MenuExID = GetFunction(ProGUI, "MenuExID")
      DisableMenuItemEx = GetFunction(ProGUI, "DisableMenuItemEx")
      SetMenuExItemState = GetFunction(ProGUI, "SetMenuExItemState")
      GetMenuExItemState = GetFunction(ProGUI, "GetMenuExItemState")
      CalcMenuItemWidth = GetFunction(ProGUI, "CalcMenuItemWidth")
      GetMenuExBarHeight = GetFunction(ProGUI, "GetMenuExBarHeight")
      FreeMenuEx = GetFunction(ProGUI, "FreeMenuEx")
      CreateToolBarEx = GetFunction(ProGUI, "CreateToolBarEx")
      SetToolBarExStyle = GetFunction(ProGUI, "SetToolBarExStyle")
      FreeToolBarEx = GetFunction(ProGUI, "FreeToolBarEx")
      ToolBarImageButtonEx = GetFunction(ProGUI, "ToolBarImageButtonEx")
      ToolBarButtonEx = GetFunction(ProGUI, "ToolBarButtonEx")
      ToolBarSeparatorEx = GetFunction(ProGUI, "ToolBarSeparatorEx")
      ToolBarDropdownImageButtonEx = GetFunction(ProGUI, "ToolBarDropdownImageButtonEx")
      ToolBarExAttachDropdownMenu = GetFunction(ProGUI, "ToolBarExAttachDropdownMenu")
      ToolBarExGadget = GetFunction(ProGUI, "ToolBarExGadget")
      InsertToolBarButtonEx = GetFunction(ProGUI, "InsertToolBarButtonEx")
      InsertToolBarImageButtonEx = GetFunction(ProGUI, "InsertToolBarImageButtonEx")
      InsertToolBarSeparatorEx = GetFunction(ProGUI, "InsertToolBarSeparatorEx")
      InsertToolBarDropdownImageButtonEx = GetFunction(ProGUI, "InsertToolBarDropdownImageButtonEx")
      InsertToolBarExGadget = GetFunction(ProGUI, "InsertToolBarExGadget")
      DisableToolbarExButton = GetFunction(ProGUI, "DisableToolbarExButton")
      SelectToolbarExButton = GetFunction(ProGUI, "SelectToolbarExButton")
      ChangeToolbarExButton = GetFunction(ProGUI, "ChangeToolbarExButton")
      RemoveToolBarExButton = GetFunction(ProGUI, "RemoveToolBarExButton")
      HideToolBarExButton = GetFunction(ProGUI, "HideToolBarExButton")
      ToolBarExToolTip = GetFunction(ProGUI, "ToolBarExToolTip")
      ToolBarExToolTipDelay = GetFunction(ProGUI, "ToolBarExToolTipDelay")
      ToolBarExID = GetFunction(ProGUI, "ToolBarExID")
      ToolBarExGadgetID = GetFunction(ProGUI, "ToolBarExGadgetID")
      ToolBarExButtonWidth = GetFunction(ProGUI, "ToolBarExButtonWidth")
      SetToolBarExButtonWidth = GetFunction(ProGUI, "SetToolBarExButtonWidth")
      ToolBarExHeight = GetFunction(ProGUI, "ToolBarExHeight")
      SetToolBarExHeight = GetFunction(ProGUI, "SetToolBarExHeight")
      DisableToolBarExButtonFade = GetFunction(ProGUI, "DisableToolBarExButtonFade")
      CreateRebar = GetFunction(ProGUI, "CreateRebar")
      SetRebarStyle = GetFunction(ProGUI, "SetRebarStyle")
      SetRebarUserCallback = GetFunction(ProGUI, "SetRebarUserCallback")
      AddRebarGadget = GetFunction(ProGUI, "AddRebarGadget")
      ShowRebarBand = GetFunction(ProGUI, "ShowRebarBand")
      RebarHeight = GetFunction(ProGUI, "RebarHeight")
      FreeRebar = GetFunction(ProGUI, "FreeRebar")
      DeleteRebarBand = GetFunction(ProGUI, "DeleteRebarBand")
      InsertRebarGadget = GetFunction(ProGUI, "InsertRebarGadget")
      RebarID = GetFunction(ProGUI, "RebarID")
      RebarBandID = GetFunction(ProGUI, "RebarBandID")
      MoveRebarBand = GetFunction(ProGUI, "MoveRebarBand")
      SaveRebarLayout = GetFunction(ProGUI, "SaveRebarLayout")
      LoadRebarLayout = GetFunction(ProGUI, "LoadRebarLayout")
      TextControlEx = GetFunction(ProGUI, "TextControlEx")
      SetTextControlExPadding = GetFunction(ProGUI, "SetTextControlExPadding")
      Shared SetTextControlExFont_.SetTextControlExFont
      SetTextControlExFont_ = GetFunction(ProGUI, "SetTextControlExFont")
      SetTextControlExColour = GetFunction(ProGUI, "SetTextControlExColour")
      SetTextControlExGradient = GetFunction(ProGUI, "SetTextControlExGradient")
      SetTextControlExText = GetFunction(ProGUI, "SetTextControlExText")
      SetTextControlExStyle = GetFunction(ProGUI, "SetTextControlExStyle")
      SetTextControlExLinePadding = GetFunction(ProGUI, "SetTextControlExLinePadding")
      SetTextControlExDimensions = GetFunction(ProGUI, "SetTextControlExDimensions")
      TextControlExWidth = GetFunction(ProGUI, "TextControlExWidth")
      TextControlExHeight = GetFunction(ProGUI, "TextControlExHeight")
      TextControlExID = GetFunction(ProGUI, "TextControlExID")
      FreeTextControlEx = GetFunction(ProGUI, "FreeTextControlEx")
      Shared changeListiconSubIcon_.changeListiconSubIcon
      changeListiconSubIcon_ = GetFunction(ProGUI, "changeListiconSubIcon")
      ImageButtonEx = GetFunction(ProGUI, "ImageButtonEx")
      SetButtonExSkin = GetFunction(ProGUI, "SetButtonExSkin")
      GetButtonExSkin = GetFunction(ProGUI, "GetButtonExSkin")
      ButtonEx = GetFunction(ProGUI, "ButtonEx")
      ToggleButtonEx = GetFunction(ProGUI, "ToggleButtonEx")
      RadioButtonEx = GetFunction(ProGUI, "RadioButtonEx")
      CheckButtonEx = GetFunction(ProGUI, "CheckButtonEx")
      ChangeButtonEx = GetFunction(ProGUI, "ChangeButtonEx")
      ButtonExToolTip = GetFunction(ProGUI, "ButtonExToolTip")
      ButtonExID = GetFunction(ProGUI, "ButtonExID")
      DisableButtonEx = GetFunction(ProGUI, "DisableButtonEx")
      FreeButtonEx = GetFunction(ProGUI, "FreeButtonEx")
      SetSplitterExSkin = GetFunction(ProGUI, "SetSplitterExSkin")
      GetSplitterExSkin = GetFunction(ProGUI, "GetSplitterExSkin")
      SplitterEx = GetFunction(ProGUI, "SplitterEx")
      SetSplitterExAttribute = GetFunction(ProGUI, "SetSplitterExAttribute")
      GetSplitterExAttribute = GetFunction(ProGUI, "GetSplitterExAttribute")
      SplitterExID = GetFunction(ProGUI, "SplitterExID")
      FreeSplitterEx = GetFunction(ProGUI, "FreeSplitterEx")
      CreateGradient = GetFunction(ProGUI, "CreateGradient")
      SetGradient = GetFunction(ProGUI, "SetGradient")
      SetGradientColour = GetFunction(ProGUI, "SetGradientColour")
      GetGradientColour = GetFunction(ProGUI, "GetGradientColour")
      RemoveGradientColour = GetFunction(ProGUI, "RemoveGradientColour")
      FreeGradient = GetFunction(ProGUI, "FreeGradient")
      CreateCommandBar = GetFunction(ProGUI, "CreateCommandBar")
      CreateCommandBarEx = GetFunction(ProGUI, "CreateCommandBarEx")
      AddCommandBarGadget = GetFunction(ProGUI, "AddCommandBarGadget")
      SetExplorerBarSkin = GetFunction(ProGUI, "SetExplorerBarSkin")
      CreateExplorerBar = GetFunction(ProGUI, "CreateExplorerBar")
      AddExplorerBarImageGroup = GetFunction(ProGUI, "AddExplorerBarImageGroup")
      AddExplorerBarGroup = GetFunction(ProGUI, "AddExplorerBarGroup")
      ExplorerBarImageItem = GetFunction(ProGUI, "ExplorerBarImageItem")
      ExplorerBarItem = GetFunction(ProGUI, "ExplorerBarItem")
      ExplorerBarID = GetFunction(ProGUI, "ExplorerBarID")
      FreeExplorerBar = GetFunction(ProGUI, "FreeExplorerBar")

      Protected StartProGUI_.StartProGUI = GetFunction(ProGUI, "StartProGUI")
      ProcedureReturn StartProGUI_(user.s, k1.l, k2.l, k3.l, k4.l, k5.l, k6.l, k7.l)
   EndIf
EndProcedure

Procedure.s GetFontName(fontID.i)
   Shared GetFontName_.GetFontName_
   If IsFont(fontID)
      fontID = FontID(fontID)
   EndIf
   ProcedureReturn PeekS(GetFontName_(fontID.i), -1, #PB_Unicode)
EndProcedure

Procedure.s GetDefaultGlobalSkinColourTheme()
   Shared GetDefaultGlobalSkinColourTheme_.GetDefaultGlobalSkinColourTheme_
   ProcedureReturn PeekS(GetDefaultGlobalSkinColourTheme_(), -1, #PB_Unicode)
EndProcedure

Procedure.s GetGlobalSkinColourTheme()
   Shared GetGlobalSkinColourTheme_.GetGlobalSkinColourTheme_
   ProcedureReturn PeekS(GetGlobalSkinColourTheme_(), -1, #PB_Unicode)
EndProcedure

Procedure.s GetSkinName(Skin.i)
   Shared GetSkinName_.GetSkinName_
   ProcedureReturn PeekS(GetSkinName_(Skin.i), -1, #PB_Unicode)
EndProcedure

Procedure.s GetSkinProperty(Skin.i, Component.s, State.s, Property.s)
   Shared GetSkinProperty_.GetSkinProperty_
   ProcedureReturn PeekS(GetSkinProperty_(Skin.i, Component.s, State.s, Property.s), -1, #PB_Unicode)
EndProcedure

Procedure.s GetSkinPropertyParam(skin.i, Component.s, State.s, Property.s, Parameter.s)
   Shared GetSkinPropertyParam_.GetSkinPropertyParam_
   ProcedureReturn PeekS(GetSkinPropertyParam_(skin.i, Component.s, State.s, Property.s, Parameter.s), -1, #PB_Unicode)
EndProcedure

Procedure.s GetSkinPropertySubParam(Skin.i, Component.s, State.s, Property.s, Parameter.s, Index.i)
   Shared GetSkinPropertySubParam_.GetSkinPropertySubParam_
   ProcedureReturn PeekS(GetSkinPropertySubParam_(Skin.i, Component.s, State.s, Property.s, Parameter.s, Index.i), -1, #PB_Unicode)
EndProcedure

Procedure.s GetMenuItemExText(menu.i, itemID.l)
   Shared GetMenuItemExText_.GetMenuItemExText_
   ProcedureReturn PeekS(GetMenuItemExText_(menu.i, itemID.l), -1, #PB_Unicode)
EndProcedure

Procedure GetFontSize(fontID.i)
  Shared GetFontSize_.GetFontSize
  If IsFont(fontID)
    fontID = FontID(fontID)
  EndIf
  ProcedureReturn GetFontSize_(fontID)
EndProcedure

Procedure SetMenuExFont(fontID.i)
  Shared SetMenuExFont_.SetMenuExFont
  If IsFont(fontID)
    fontID = FontID(fontID)
  EndIf
  ProcedureReturn SetMenuExFont_(fontID)
EndProcedure

Procedure SetTextControlExFont(id.i, fontID.i, antialiased.b)
  Shared SetTextControlExFont_.SetTextControlExFont
  If IsFont(fontID)
    fontID = FontID(fontID)
  EndIf
  ProcedureReturn SetTextControlExFont_(id, fontID, antialiased)
EndProcedure

Procedure changeListiconSubIcon(listicon.i, itempos.l, subitempos.l, image.i)
  Shared changeListiconSubIcon_.changeListiconSubIcon
  If IsGadget(listicon)
    listicon = GadgetID(listicon)
  EndIf
  ProcedureReturn changeListiconSubIcon_(listicon, itempos, subitempos, image)
EndProcedure

Procedure AddPanelExPage(background.i)
  Shared AddPanelExPage_.AddPanelExPage
  Protected dllReturnVal = AddPanelExPage_(background)
  If dllReturnVal <> 0
    UseGadgetList(dllReturnVal)
  EndIf
  ProcedureReturn dllReturnVal
EndProcedure

Procedure AddPanelExImagePage(background.i, backgroundImg.i, imageX.l, imageY.l, imageWidth.l, imageHeight.l, style.l)
  Shared AddPanelExImagePage_.AddPanelExImagePage
  Protected dllReturnVal = AddPanelExImagePage_(background, backgroundImg, imageX, imageY, imageWidth, imageHeight, style)
  If dllReturnVal <> 0
    UseGadgetList(dllReturnVal)
  EndIf
  ProcedureReturn dllReturnVal
EndProcedure

Procedure InsertPanelExPage(Panel.i, page.i, background.i)
  Shared InsertPanelExPage_.InsertPanelExPage
  Protected dllReturnVal = InsertPanelExPage_(Panel, page, background)
  If dllReturnVal <> 0
    UseGadgetList(dllReturnVal)
  EndIf
  ProcedureReturn dllReturnVal
EndProcedure

Procedure InsertPanelExImagePage(Panel.i, page.i, background.i, backgroundImg.i, imageX.l, imageY.l, imageWidth.l, imageHeight.l, style.l)
  Shared InsertPanelExImagePage_.InsertPanelExImagePage
  Protected dllReturnVal = InsertPanelExImagePage_(Panel, page, background, backgroundImg, imageX, imageY, imageWidth, imageHeight, style)
  If dllReturnVal <> 0
    UseGadgetList(dllReturnVal)
  EndIf
  ProcedureReturn dllReturnVal
EndProcedure
