Jump to content
PrincieD

ProGUI V1.31 Professional User Interface Library (Office 2007 styles + more)

Recommended Posts

PrincieD

Posted Image

Posted ImagePosted Image

Posted Image

Posted Image

Posted Image

Posted Image

Posted ImagePosted Image

Posted Image

V1.32 : Hi guys! this release fixes the huge amount of private-bytes/virtual memory (400 meg :);) ) that was being allocated due to the use of nested hash map structures in the skin sub-system. I've now re-factored the sub-system to use just linked lists and should be just as quick as the map method.

Please note ProGUI is license-ware and will timeout at around 5 minutes per session so that you can trial out ProGUI with your applications. A license for the standard version is only €30 (EUR) however! There is also a ProGUI Gold license which is slightly more expensive but Includes full source code of ProGUI and a license to use it in your own projects: €45 (EUR)

http://www.progui.co.uk

ProGUI Forums

http://www.progui.co.uk/phpBB/index.php

ProGUI Main Archive: Includes DLL version, AutoIt wrapper and reference manual. (both native 32 bit and 64 bit versions of each)

http://www.progui.co.uk/downloads/ProGUI.rar

http://www.progui.co.uk/downloads/ProGUI.zip

Examples:

http://www.progui.co.uk/downloads/ProGUI_AutoIt_Examples.rar

http://www.progui.co.uk/downloads/ProGUI_AutoIt_Examples.zip

Main Features

· Easy to use and simple API with commands such as "MenuTitleEx(title.s)"

· Easy Installation

· Extremely fast rendering with internal caching and intelligent double-buffering.

· One of the most accurate replica of Whidbey, Office 2007 and Office 2003 styles that exist as well as improvements over Microsoft's engine such as flicker free menu tracking and superior menu scrolling!

· Native 32 bit and 64 bit versions!

· Windows 7, Vista and XP compatible.

· Unicode support.

. Full Source Code included in ProGUI Gold edition.

· Rebars! (IE Explorer style container control for toolbars), multiple rebars on multiple windows!

· Extended rebar functionality including new Office 2007 and Office 2003 style, auto vertical resizing and user vertical resizing.

· Super smooth window resizing of components, no wild jumping or flickering!

· Option for automatic double buffering of rebars when resizing!

· Full Automatic Chevron support for rebars, see IE Explorer - resize the window too small and click on the chevron to see a popup menu with toolbar icons.

· Extended toolbars, full 32bit Alpha masked icon/image support of any size for toolbar buttons with separate images for normal, hot and disabled states. As many toolbars as you want on multiple windows!

· New Office 2007/Office 2003 Toolstrip style toolbars!

. Office 2007/Office 2003 styled ComboBoxes in toolbars/rebars.

· Support for drop down buttons in toolbars, just pass a popup menu or extended popup menu to the command!

· Extended menus! Have cool "floating" menus contained in a rebar/container with ease! Full support for 32bit Alpha masked icons/images of any size in menus with support for different images for normal, hot and disabled states! Includes extended system menu and popup menu. Different styles of menus available for example: Office 2007 style menus, Office 2003 style menus, Office XP/Whidbey style menus, IE Explorer style, Classic/Mozilla Firefox Style and other styles. Automatic chevrons on menus when window resized too small! Automatic detection of system font change and resized accordingly. Full keyboard navigation and hot-key support. When menu goes off screen automatically fits inside screen (see Explorer for a bad implementation of this, see Firefox for a good implementation).

· Theme adaptive custom user defined colours for User Interface styles.

Thanks!

Chris.

Edited by PrincieD

Chris Deeney, developer of ProGUI - Professional Graphical User Interface Library - [url]http://www.progui.co.uk[/url]

Share this post


Link to post
Share on other sites
PrincieD

If I wasn't a student I'd get the source... Unfortunately for you I am :)

hehe thats ok Mat and thanks I know what it's like to be a poor student, it sucks lol


Chris Deeney, developer of ProGUI - Professional Graphical User Interface Library - [url]http://www.progui.co.uk[/url]

Share this post


Link to post
Share on other sites
PrincieD

This is the ExplorerBar example code and shows how easy it is to get up and running with ProGUI :)

; Demonstrates how to use ExplorerBars
Global $Use64BitProGUI = False ; Use 64bit version of ProGUI (True/False)
#include <ProGUI_AutoIt.au3>
#include <GUIConstantsEx.au3>
#include <WinAPI.au3>
#include <WindowsConstants.au3>
#include <Constants.au3>
Func WindowHeight($hWnd)
    $rc = _WinAPI_GetClientRect($hWnd)
    Return DllStructGetData($rc, "bottom")-DllStructGetData($rc, "top")
EndFunc
Func WindowWidth($hWnd)
    $rc = _WinAPI_GetClientRect($hWnd)
    Return DllStructGetData($rc, "right")-DllStructGetData($rc, "left")
EndFunc

StartProGUI("", 0, 0, 0, 0, 0, 0, 0)

;- Control Constants
Enum $ExplorerBar
; Define some global arrays for easy access of icon images
Global $imageNormal[8]
Global $imageHot[8]
Global $imageDisabled[8]
; load in some example icons
$imagenormal[0] = LoadImg("iconsshell32_1007.ico", 16, 16, 0)
$imagenormal[1] = LoadImg("iconsshell32_271.ico", 16, 16, 0)
$imagenormal[2] = LoadImg("iconsshell32_22.ico", 16, 16, 0)
$imagenormal[3] = LoadImg("iconsshell32_18.ico", 16, 16, 0)
$imagenormal[4] = LoadImg("iconsshell32_235.ico", 16, 16, 0)
$imagenormal[5] = LoadImg("iconsshell32_4.ico", 16, 16, 0)
$imagenormal[6] = LoadImg("iconsshell32_4.ico", 96, 96, 0)
;- process ProGUI Windows event messages here
Func ProGUI_EventCallback($hwnd, $message, $wParam, $lParam)
  Select
    ; handle selection of menu items And $buttons
    Case $message = $WM_COMMAND
      If Hword($wParam) = 0 Then ; is an ID Then
        $MenuID = LWord($wParam)
        ConsoleWrite($MenuID&@CRLF)
      EndIf
    ; resize panelex And $textcontrolex when main window resized
    Case $message = $WM_SIZE
      _WinAPI_MoveWindow(ExplorerBarID($ExplorerBar), 5, 5, 210, WindowHeight($Window_0)-10, True)
      _WinAPI_MoveWindow(PanelExID(0, -1), 215, 5, WindowWidth($Window_0)-220, WindowHeight($Window_0)-10, True)
  EndSelect
  Return $GUI_RUNDEFMSG
EndFunc
; creates a window
Func Open_Window_0()
  Global $Window_0 = GUICreate("ExplorerBar Example", 700, 500, -1, -1, BitOR($WS_SIZEBOX, $WS_MINIMIZEBOX, $WS_MAXIMIZEBOX))
  ; create our ExplorerBar
  CreateExplorerBar($Window_0, $ExplorerBar, 5, 5, 210, 490, 0)
  AddExplorerBarGroup("System Tasks")
    ExplorerBarImageItem(0, "View system information", $imagenormal[0], 0, 0, 0)
    ExplorerBarImageItem(1, "Add or remove programs", $imagenormal[1], 0, 0, 0)
    ExplorerBarImageItem(2, "Change a setting", $imagenormal[2], 0, 0, 0)
  AddExplorerBarGroup("Other Places")
    ExplorerBarImageItem(3, "My Network Places", $imagenormal[3], 0, 0, 0)
    ExplorerBarImageItem(4, "My Documents", $imagenormal[4], 0, 0, 0)
    ExplorerBarImageItem(5, "Shared Documents", $imagenormal[5], 0, 0, 0)
    ExplorerBarImageItem(6, "Control Panel", $imagenormal[2], 0, 0, 0)
  AddExplorerBarGroup("Details")
    ExplorerBarItem(7, "Example Item 1")
    ExplorerBarItem(8, "Example Item 2")
  ; create PanelEx as main window content
  CreatePanelEx(0, $Window_0, 215, 5, 480, 490, 0)
  AddPanelExImagePage(2, $imagenormal[6], 0, 0, 0, 0, BitOR($PNLX_CENTRE, $PNLX_VCENTRE))
  ; attach our events callback for processing Windows ProGUI messages
  GUIRegisterMsg($WM_COMMAND, "ProGUI_EventCallback")
GUIRegisterMsg($WM_SIZE, "ProGUI_EventCallback")
GUIRegisterMsg($REBAR_UPDATED, "ProGUI_EventCallback")
GUIRegisterMsg($TCX_LINK_CLICK, "ProGUI_EventCallback")
GUIRegisterMsg($TCX_LINK_HOVER, "ProGUI_EventCallback")
EndFunc

Open_Window_0() ; create window
GUISetState(@SW_SHOW) ; show our newly created window
; enter main event loop
Do
  $Event = GUIGetMsg()
Until $Event = $GUI_EVENT_CLOSE

Chris Deeney, developer of ProGUI - Professional Graphical User Interface Library - [url]http://www.progui.co.uk[/url]

Share this post


Link to post
Share on other sites
Mikeman27294

You never fail to dissappoint with ProGUI, do you? I would buy it too but I'm also a student, and I don't have a job so unfortunately I can't.

Share this post


Link to post
Share on other sites
PrincieD

You never fail to dissappoint with ProGUI, do you? I would buy it too but I'm also a student, and I don't have a job so unfortunately I can't.

Thanks Mike! :) and no worries, it's a tough time for us all at the moment with the current economic climate - hopefully things will get better soon (fingers crossed!).

Chris.

  • Like 1

Chris Deeney, developer of ProGUI - Professional Graphical User Interface Library - [url]http://www.progui.co.uk[/url]

Share this post


Link to post
Share on other sites
engjcowi

This is awesome. Defo gonna look into this further

Thanks


Drunken Frat-Boy Monkey Garbage

Share this post


Link to post
Share on other sites
PrincieD

This is awesome. Defo gonna look into this further

Thanks

Thanks engjcowi! :)

Chris.


Chris Deeney, developer of ProGUI - Professional Graphical User Interface Library - [url]http://www.progui.co.uk[/url]

Share this post


Link to post
Share on other sites
Xenobiologist

Looks, very good, but it is not that easy to creat buttons and react on a click on that button and so on.

Which language is it?

Thanks for sharing, I'll test a little bit.


Scripts & functions Organize Includes Let Scite organize the include files

Yahtzee The game "Yahtzee" (Kniffel, DiceLion)

LoginWrapper Secure scripts by adding a query (authentication)

_RunOnlyOnThis UDF Make sure that a script can only be executed on ... (Windows / HD / ...)

Internet-Café Server/Client Application Open CD, Start Browser, Lock remote client, etc.

MultipleFuncsWithOneHotkey Start different funcs by hitting one hotkey different times

Share this post


Link to post
Share on other sites
PrincieD

Looks, very good, but it is not that easy to creat buttons and react on a click on that button and so on.

Thanks Xenobiologist! :) yes it's a little bit more fiddly with the event capturing: AutoIT controls have their events captured like normal in the GUIGetMsg() loop (and can be mixed and matched with ProGUI controls). However ProGUI event messages are captured using the standard WinAPI WM_Command model and this needs to be registered as an AutoIT callback using the GUIRegisterMsg() command (please see the ExplorerBar code above for an example).

Which language is it?

ProGUI is wrote using PureBasic.

Thanks for sharing, I'll test a little bit.

no worries ;) and thanks! ;)

Chris.


Chris Deeney, developer of ProGUI - Professional Graphical User Interface Library - [url]http://www.progui.co.uk[/url]

Share this post


Link to post
Share on other sites
PrincieD

New update! V1.32, see top of thread.

Chris.


Chris Deeney, developer of ProGUI - Professional Graphical User Interface Library - [url]http://www.progui.co.uk[/url]

Share this post


Link to post
Share on other sites
acidman

damn this is nice, good work man!!!


[u]My dream is to have a dream...[/u]

Share this post


Link to post
Share on other sites
TheDcoder

@Rizonetech You better contact him at his website since he hasn't visited the forum since 2012...


AutoIt.4.Life Clubrooms - Life is like a Donut (secret key)

Spoiler

My contributions to the AutoIt Community

Some messages & Apologizes:

If I hurt you, Please accept my apologies, I never (regardless of the situation) mean to hurt anybody!!!

Also, I am very busy with my project so I will appear in the last row of the online list, if you want to contact me: Email@TheDcoder.xyz

Or you can have a nice chat with me in freenode, I use the same nick on freenode too!

3fHNZJ.gif

PLEASE JOIN ##AutoIt AND HELP THE IRC AUTOIT COMMUNITY!

Share this post


Link to post
Share on other sites
TheDcoder
54 minutes ago, Rizonetech said:

I've contacted him on his website already. He is not replying. I will try again soon.

I highly doubt that he checks his website's emails/queries anymore... so you might have to wait a few weeks for him to reply.

56 minutes ago, Rizonetech said:

Thank you for your reply.

My pleasure :D


AutoIt.4.Life Clubrooms - Life is like a Donut (secret key)

Spoiler

My contributions to the AutoIt Community

Some messages & Apologizes:

If I hurt you, Please accept my apologies, I never (regardless of the situation) mean to hurt anybody!!!

Also, I am very busy with my project so I will appear in the last row of the online list, if you want to contact me: Email@TheDcoder.xyz

Or you can have a nice chat with me in freenode, I use the same nick on freenode too!

3fHNZJ.gif

PLEASE JOIN ##AutoIt AND HELP THE IRC AUTOIT COMMUNITY!

Share this post


Link to post
Share on other sites
water
16 minutes ago, TheDcoder said:

I highly doubt that he checks his website's emails/queries anymore...

Why do you think so?
The latest version of his tool is 1.39 and the copyright of his websites was updated 2015.


My UDFs and Tutorials:

Spoiler

UDFs:
Active Directory (NEW 2018-06-01 - Version 1.4.9.0) - Download - General Help & Support - Example Scripts - Wiki
OutlookEX (2018-01-27 - Version 1.3.3.1) - Download - General Help & Support - Example Scripts - Wiki
ExcelChart (2015-04-01 - Version 0.4.0.0) - Download - General Help & Support - Example Scripts
Excel - Example Scripts - Wiki
Word - Wiki
PowerPoint (2015-06-06 - Version 0.0.5.0) - Download - General Help & Support

Tutorials:
ADO - Wiki

 

Share this post


Link to post
Share on other sites
TheDcoder

Yes, I just noticed that... still the same opinion, will have to wait a few weeks before getting a response.


AutoIt.4.Life Clubrooms - Life is like a Donut (secret key)

Spoiler

My contributions to the AutoIt Community

Some messages & Apologizes:

If I hurt you, Please accept my apologies, I never (regardless of the situation) mean to hurt anybody!!!

Also, I am very busy with my project so I will appear in the last row of the online list, if you want to contact me: Email@TheDcoder.xyz

Or you can have a nice chat with me in freenode, I use the same nick on freenode too!

3fHNZJ.gif

PLEASE JOIN ##AutoIt AND HELP THE IRC AUTOIT COMMUNITY!

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Similar Content

    • FrancescoDiMuro
      By FrancescoDiMuro
      Good evening everyone
      First, I want to apologize with you for the title not very clear, but I thought a little bit on which title to set at the thread, and this is the one that came in mind.
      Now, let me explain what I'm trying to understand.

      I am making an application ( with n clients ), with an SQLite Database, which has a Main form, and n sub-forms... 
      Since these sub-forms are called several times, because they are used to add or update records to the Database, I put the code that generates the GUI of these sub-forms in Functions.
      There are two sub-forms which are "treated" as two main forms, since even them have n sub-forms, which perform various tasks.
      Where am I stucked?

      For the Main form I created a Status Bar, in order to display messages ( add/delete/update/search results ), and it works perfectly with all the forms which don't have other sub-forms.
      For the two forms, which indeed have n sub-forms, I created two separated Status Bars, which are (re)created everytime I call the function that then displays the form.
      Practically, I can't set icons to these two Status Bars, and I don't know why.
      I'm really sorry that I don't feel clear enough, so, here you are an example of what I am saying.
      I recreated exactly what my script does:
      #include <GuiButton.au3> #include <GUIConstantsEx.au3> #include <GuiStatusBar.au3> #include <WindowsConstants.au3> Opt("GUIOnEventMode", 1) Global $frmSubForm, _ $txtSubFormField, _ $sbSubFormStatusBar, _ $objSB_IconError = _WinAPI_LoadShell32Icon(109), _ $objSB_IconInformation = _WinAPI_LoadShell32Icon(277) #Region ### START Koda GUI section ### Form= $frmMainForm = GUICreate("Main Form", 300, 300, -1, -1) GUISetOnEvent($GUI_EVENT_CLOSE, "ExitApplication") $sbMainStatusBar = _GUICtrlStatusBar_Create($frmMainForm) $btnCreateSubForm = GUICtrlCreateButton("Create Sub Form", 105, 110, 75, 41, BitOR($BS_CENTER,$BS_VCENTER,$BS_MULTILINE)) GUICtrlSetOnEvent(-1, "GenerateSubForm") GUICtrlSetFont(-1, 10, 400, 0, "Arial") _GUICtrlStatusBar_SetSimple($sbMainStatusBar) _GUICtrlStatusBar_SetText($sbMainStatusBar, "") GUISetState(@SW_SHOW, $frmMainForm) #EndRegion ### END Koda GUI section ### While 1 Sleep(100) WEnd Func ExitApplication() Exit EndFunc Func GenerateSubForm() #Region ### START Koda GUI section ### Form= $frmSubForm = GUICreate("Sub-Form", 300, 300, -1, -1, -1, -1, $frmMainForm) GUISetOnEvent($GUI_EVENT_CLOSE, "DeleteSubForm") $txtSubFormField = GUICtrlCreateInput("", 0, 0, 100, 20) $btnCheckSubFormField = GUICtrlCreateButton("Check Field", 105, 110, 75, 41, BitOR($BS_CENTER,$BS_VCENTER,$BS_MULTILINE)) GUICtrlSetOnEvent(-1, "CheckSubFormField") GUICtrlSetFont(-1, 10, 400, 0, "Arial") $sbSubFormStatusBar = _GUICtrlStatusBar_Create($frmSubForm) _GUICtrlStatusBar_SetSimple($sbSubFormStatusBar) _GUICtrlStatusBar_SetText($sbSubFormStatusBar, "") GUISetState(@SW_SHOW, $frmSubForm) GUISetState(@SW_DISABLE, $frmMainForm) #EndRegion ### END Koda GUI section ### EndFunc Func DeleteSubForm() ; Declared Globally => $frmSubForm GUIDelete($frmSubForm) GUISetState(@SW_ENABLE, $frmMainForm) EndFunc Func WriteToStatusBar($sbStatusBar, $objSB_Icon, $strText) _GUICtrlStatusBar_SetIcon($sbStatusBar, 0, $objSB_Icon) _GUICtrlStatusBar_SetText($sbStatusBar, $strText) ConsoleWrite("Icon Handle: " & $objSB_Icon & @CRLF) EndFunc Func CheckSubFormField() ; Declared Globally => $txtSubFormField If GUICtrlRead($txtSubFormField) = "" Then ; Declared Globally => $sbStatusBar WriteToStatusBar($sbSubFormStatusBar, $objSB_IconError, "Field NOK.") Else WriteToStatusBar($sbSubFormStatusBar, $objSB_IconInformation, "Field OK.") EndIf EndFunc The text is set, but icon is not.
      Could someone please tell me why?
      Thanks everyone in advance  

      Best Regards.
    • Reziskonh
      By Reziskonh
      Hi, everybody
      I look for GUI whose behavior similar to the message of an email client or antivirus
      In other words:
          Any PC screen able to calculate the size
          To consider the Task bar size
          To find the lower corner on the right/below and to nestle on it

      Notes:
      In GUI the GUICtrlCreateEdit field (as option) - that can be received and displayed through variable information
      Thanks a lot
      PS
      I use the translator, excuse if something is not clear
       

    • VollachR
      By VollachR
      Hi,
      I'd like to show a progress bar for an operation performed by an external program my script is running silently, I want to show it in a GUI I created using the GUICtrlCreateProgress but I have no idea how to do it.
      The important thing to point out is that there's no way of knowing how long the external program will run, as it is a file splitter and it depends on the size of file it splits and the split parts size.
      Can someone point me in the right direction or give me an example how to do so?
      This is my RunWait command:
      RunWait($MYFILES1 & '\fsplit.exe -split ' & $Size & ' mb ' & $File & " -f " & $File & "." & $extension) It uses multiple variables declared and set earlier in the script, how will I got about having the progress of that command shown using GUICtrlCreateProgress ? Is it possible?
      Thank you.
    • nacerbaaziz
      By nacerbaaziz
      Hello my friends
      I have an inquiry and I hope to find the answer here
      I want to create a graphical user interface
      but I want to hide the system menu
      I mean the window menu
      Is this possible?
      If is possible please give me how to do that
      Thanks in advance
    • helmar
      By helmar
      I was playing around with simple GUI creation.  I tend to like parameter driven coding (in prior life (years ago) as Clipper/FoxPro/dBase coder).  Just wanted to see what I could do with a GUI.
      #Region options, includes Opt('MustDeclareVars', 1) Opt("GUIOnEventMode", 1) ; Change to OnEvent mode #include <GUIConstantsEx.au3> #EndRegion options, includes Global Const $nCols = 2, $nRows = 6, $nSpacer = 10, $nBtnWidth = 150, $nBtnHeight = 30 Global $xName = 0, $xID = 0 Global $nGUIWidth = ($nCols * $nBtnWidth) + (($nCols + 1) * $nSpacer) Global $nGUIHeight = ($nRows * $nBtnHeight) + (($nRows + 1) * $nSpacer) Global $hMainGUI = GUICreate("Calculated GUI", $nGUIWidth, $nGUIHeight, -1, -1) For $xRows = 1 to $nRows ;in this arrangement, tabbing is left to right, then next row For $xCols = 1 to $nCols ;reverse the order of this line with the prior line for top to bottom tabbing, then next col $xName += 1 $xID += 1 Global $Dummy = GUICtrlCreateButton("Button" & $xName, _ ($nBtnWidth * ($xCols - 1)) + (($xCols - 1) * $nSpacer) + $nSpacer, _ ($nBtnHeight* ($xRows - 1)) + (($xRows - 1) * $nSpacer) + $nSpacer, _ $nBtnWidth, _ $nBtnHeight) GUICtrlSetOnEvent($xID+2, "Handler") Next Next GUISetOnEvent($GUI_EVENT_CLOSE, "CloseApp") GUISetState(@SW_SHOW) While 1 Sleep(10) WEnd Func CloseApp() Exit EndFunc Func Handler() MsgBox(0,0,"Button " & @GUI_CtrlId - 2) EndFunc  
×