Jump to content

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


PrincieD
 Share

Recommended Posts

Posted Image

Posted Image

Posted Image

Posted Image

Posted Image

Posted Image

Posted Image

V1.27 : Just a nice small update this one with new AutoIT examples!, more will be coming soon :mellow:

Please note ProGUI is licenseware 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 €25 (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: €40 (EUR) and if it that wasn't enough choice there is now a new ProGUI Platinum license which costs €80 (EUR) and gives you a life-time of free Major Updates! :)

http://www.progui.co.uk

ProGUI Forums

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

ProGUI Main Archive: Includes DLL version and Userlib version. (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.

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

Link to comment
Share on other sites

The following small code example is from the ProGUI_AutoIt_Examples.zip archive and shows how easy it is to get up and running with AutoIt and ProGUI :-

; Demonstrates how to use MenuEx's

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>
StartProGUI("", 0, 0, 0, 0, 0, 0, 0)


;- Control Constants
Enum $MENU_0, $MENU_1

; Define some global arrays for easy access of icon images
Global $imageNormal[36]
Global $imageHot[36]
Global $imageDisabled[36]

; load in some example icons
$imagenormal[0] = LoadImg("icons\cut.ico", 16, 16, 0)
$imagehot[0] = LoadImg("icons\cut_h.ico", 16, 16, 0)
$imagedisabled[0] = LoadImg("icons\cut_d.ico", 16, 16, 0)

$imagenormal[1] = LoadImg("icons\paste.ico", 16, 16, 0)
$imagehot[1] = LoadImg("icons\paste_h.ico", 16, 16, 0)
$imagedisabled[1] = LoadImg("icons\paste_d.ico", 16, 16, 0)

$imagenormal[2] = LoadImg("icons\image.ico", 16, 16, 0)
$imagehot[2] = LoadImg("icons\image_h.ico", 16, 16, 0)
$imagedisabled[2] = LoadImg("icons\image_d.ico", 16, 16, 0)

$imagenormal[3] = LoadImg("icons\multimedia.ico", 16, 16, 0)
$imagehot[3] = LoadImg("icons\multimedia_h.ico", 16, 16, 0)
$imagedisabled[3] = LoadImg("icons\multimedia_d.ico", 16, 16, 0)

$imagenormal[4] = LoadImg("icons\package.ico", 16, 16, 0)
$imagehot[4] = LoadImg("icons\package_h.ico", 16, 16, 0)
$imagedisabled[4] = LoadImg("icons\package_d.ico", 16, 16, 0)

$imagenormal[5] = LoadImg("icons\preferences.ico", 16, 16, 0)
$imagehot[5] = LoadImg("icons\preferences_h.ico", 16, 16, 0)
$imagedisabled[5] = LoadImg("icons\preferences_d.ico", 16, 16, 0)

$imagenormal[6] = LoadImg("icons\jump.ico", 16, 16, 0)
$imagehot[6] = LoadImg("icons\jump_h.ico", 16, 16, 0)
$imagedisabled[6] = LoadImg("icons\jump_d.ico", 16, 16, 0)

$imagenormal[19] = LoadImg("icons\copy doc.ico", 32, 32, 0)
$imagehot[19] = LoadImg("icons\copy doc_h.ico", 32, 32, 0)
$imagedisabled[19] = LoadImg("icons\copy doc_d.ico", 32, 32, 0)

$imagenormal[20] = LoadImg("icons\computer on.ico", 32, 32, 0)
$imagehot[20] = LoadImg("icons\computer on_h.ico", 32, 32, 0)
$imagedisabled[20] = LoadImg("icons\computer on_d.ico", 32, 32, 0)

$imagenormal[21] = LoadImg("icons\search.ico", 32, 32, 0)
$imagehot[21] = LoadImg("icons\search_h.ico", 32, 32, 0)
$imagedisabled[21] = LoadImg("icons\search_d.ico", 32, 32, 0)

;- process ProGUI Windows event messages here
Func ProGUI_EventCallback($hwnd, $message, $wParam, $lParam)

  Select

    ; handle selection of menu items
    Case $message = $WM_COMMAND

      If HWord($wParam) = 0 Then ; is an ID Then

        $MenuID = LWord($wParam)

        ConsoleWrite($MenuID&@CRLF) ; display selected menu item

      EndIf

  EndSelect

  Return $GUI_RUNDEFMSG

EndFunc

; creates a window
Func Create_Window_0()

  $Window_0 = GUICreate("MenuExample 1: A single menu attached to the main window", 800, 500, -1, -1, BitOR($WS_SIZEBOX, $WS_MINIMIZEBOX, $WS_MAXIMIZEBOX))

  ; sub menu
  CreatePopupMenuEx($MENU_1, $UISTYLE_WHIDBEY)
  MenuItemEx(0, "Submenu Item 0", $imagenormal[6], $imagehot[6], $imagedisabled[6], 0)

  ; main menu
  CreateMenuEx($MENU_0, $Window_0, $UISTYLE_WHIDBEY)
  MenuTitleEx("Example Title &1")
  MenuItemEx(1, "&Item 1$\bCtrl+C", $imagenormal[0], $imagehot[0], $imagedisabled[0], 0)
  MenuItemEx(2, "Item &2 Disabled", $imagenormal[0], $imagehot[0], $imagedisabled[0], 0)
  DisableMenuItemEx($MENU_0, 2, 1)
  MenuTitleEx("Example Title &2")
  MenuItemEx(3, "&Item 3", $imagenormal[1], $imagehot[1], $imagedisabled[1], MenuExID($MENU_1))
  MenuItemEx(4, "Item &4$\bCtrl+S", $imagenormal[2], $imagehot[2], $imagedisabled[2], 0)
  MenuItemEx(11, "Item &11 (no icon)", 0, 0, 0, 0)
  MenuBarEx()
  MenuItemEx(5, "&\i\c0000a0&Item 5\n$\bCtrl+B", $imagenormal[3], $imagehot[3], $imagedisabled[3], 0)
  MenuTitleEx("Example Title &3")
  MenuItemEx(6, "&Item 6", $imagenormal[4], $imagehot[4], $imagedisabled[4], 0)
  MenuItemEx(7, "Item &7", $imagenormal[5], $imagehot[5], $imagedisabled[5], 0)
  SetMenuExImageSize(32, 32)
  MenuTitleEx("&Big Icons")
  MenuItemEx(8, "&Item 8", $imagenormal[19], $imagehot[19], $imagedisabled[19], 0)
  MenuItemEx(9, "Item &9$\bCtrl+B", $imagenormal[20], $imagehot[20], $imagedisabled[20], 0)
  MenuItemEx(10, "Item &10", $imagenormal[21], $imagehot[21], $imagedisabled[21], 0)

  ; attach our events callback for processing Windows ProGUI messages
  GUIRegisterMsg($WM_COMMAND, "ProGUI_EventCallback")

EndFunc


Create_Window_0() ; create/setup our 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]

Link to comment
Share on other sites

nice job!

thanks princieD

rchockxm.

Thanks rchockxm :mellow: I'll upload some more examples soon.

Are there any tutorials for using it with autoit or do we need to learn off the code?

There are no step-by-step tutorials as such but the examples are simple/easy to understand (plus commented well) and the online docs are well organised and documented: ProGUI Online Reference Manual

For the menu example above: MenuEx, CreateMenuEx, MenuTitleEx, MenuItemEx

In the docs the command parameters are defined using PureBasic data types (for the time being): for example "varname.l" is a variable of type 32bit long, "*varname" is a pointer, "varname$" is a string, "varname.s" is a string, "varname.i" is a 32bit or 64bit integer (depending on architecture) and a constant is "#constant". All you have to do in AutoIt is simply use "$varname" for any of the datatypes :)

Using ProGUI in AutoIt is straightforward too, all you need is to have the ProGUI/ProGUI64.dll in the script's directory and have "#include <ProGUI_AutoIt.au3>" followed by "StartProGUI("", 0, 0, 0, 0, 0, 0, 0)" at the top of your script's code.

I hope that helps, I'm always here as well to answer any questions or help with problems :)

Cheers!

Chris.

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

Link to comment
Share on other sites

Thanks for that. I have to say that this looks exactly like what I am looking for.

Now I just need to figure out how im gonna pay 4 it hahaha

Curse not having a credit card!!!

Also, I am just wondering what language you make your DLLs with? Because I want to start making DLL files but I dont know wha language to use. Is there a dll language or something?

Thanks.

Edited by Mikeman27294
Link to comment
Share on other sites

Thanks for that. I have to say that this looks exactly like what I am looking for.

Now I just need to figure out how im gonna pay 4 it hahaha

You're welcome Mike :mellow: and thanks for wanting to purchase, we could do a bank-to-bank transfer if paying with paypal is a problem (they accept debit cards too and e-cheques I think)

Curse not having a credit card!!!

lol I don't have a credit card any-more too, I just use my debit card for buying stuff online.

Also, I am just wondering what language you make your DLLs with? Because I want to start making DLL files but I dont know wha language to use. Is there a dll language or something?

Thanks.

Sure, ProGUI is coded 100% in PureBasic. I highly recommend this language, compiles for both 32bit and 64bit architecture and is cross platform! (mac, linux, windows), the API is very simple yet powerful (syntax is similar to C with some C++ features) :)

Kind Regards,

Chris.

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

Link to comment
Share on other sites

PrincieD: Is it similar to AutoIt?

[font="Comic Sans MS"]My code does not have bugs! It just develops random features.[/font]My Projects[list][*]Live Streaming (Not my project, but my edited version)[right]AutoIt Wrappers![/right][/list]Pure randomness[list][*]Small Minds.......................................................................................................[size="1"]Simple progress bar that changes direction at either sides.[/size][*]ChristmasIt AutoIt Christmas Theme..........................................................[size="1"]I WAS BOOOORED![/size][*]DriveToy..............................................................................................................[size="1"]Simple joke script. Trick your friends into thinking their computer drive is haywire![/size][/list]In Development[list][*]Your Background Task Organiser[*]AInstall Second Generation[/list]BEFORE POSTING ON THE FORUMS, TRY THIS:

%programfiles%/AutoIt3/autoit3.chm
Link to comment
Share on other sites

Sure, ProGUI is coded 100% in PureBasic. I highly recommend this language, compiles for both 32bit and 64bit architecture and is cross platform! (mac, linux, windows), the API is very simple yet powerful (syntax is similar to C with some C++ features) :mellow:

Great! I am actually looking to start learning C++ later in the year hahaha.

But I would learn PureBasic myself. I saw it the other day and the only reason I havent touched it is because it costs too. If I were to but ProGUI for AutoIT and later PureBasic, would I have to buy ProGUI for PureBasic too, or would I be able to claim that on the previous purchase?

Also, is there a ProGUI for C++ just out of interest?

Thanks

Link to comment
Share on other sites

  • Moderators

Also, is there a ProGUI for C++ just out of interest?

QT framework. It's very very good.

Common sense plays a role in the basics of understanding AutoIt... If you're lacking in that, do us all a favor, and step away from the computer.

Link to comment
Share on other sites

QT framework. It's very very good.

Or GTK

[font="Comic Sans MS"]My code does not have bugs! It just develops random features.[/font]My Projects[list][*]Live Streaming (Not my project, but my edited version)[right]AutoIt Wrappers![/right][/list]Pure randomness[list][*]Small Minds.......................................................................................................[size="1"]Simple progress bar that changes direction at either sides.[/size][*]ChristmasIt AutoIt Christmas Theme..........................................................[size="1"]I WAS BOOOORED![/size][*]DriveToy..............................................................................................................[size="1"]Simple joke script. Trick your friends into thinking their computer drive is haywire![/size][/list]In Development[list][*]Your Background Task Organiser[*]AInstall Second Generation[/list]BEFORE POSTING ON THE FORUMS, TRY THIS:

%programfiles%/AutoIt3/autoit3.chm
Link to comment
Share on other sites

I think PrincieD should consider himself lucky.

The Mods seemto be in a particularly good mood today.

The thread starts with commercial spam and then goes on to promote the use of another language.

Well done Oh Lucky One.

George

Question about decompiling code? Read the decompiling FAQ and don't bother posting the question in the forums.

Be sure to read and follow the forum rules. -AKA the AutoIt Reading and Comprehension Skills test.***

The PCRE (Regular Expression) ToolKit for AutoIT - (Updated Oct 20, 2011 ver:3.0.1.13) - Please update your current version before filing any bug reports. The installer now includes both 32 and 64 bit versions. No change in version number.

Visit my Blog .. currently not active but it will soon be resplendent with news and views. Also please remove any links you may have to my website. it is soon to be closed and replaced with something else.

"Old age and treachery will always overcome youth and skill!"

Link to comment
Share on other sites

PrincieD: Is it similar to AutoIt?

Hi shanet, Yes quite similar. PureBasic has a huge library of commands for doing practically anything (games, apps ...) too and a good community :mellow: although AutoIt is definitely more suited to interfacing/controlling other applications.

If I were to but ProGUI for AutoIT and later PureBasic, would I have to buy ProGUI for PureBasic too, or would I be able to claim that on the previous purchase?

No no, you can use ProGUI with any language :)

Also, is there a ProGUI for C++ just out of interest?

I already have a wrapper for C but haven't had chance to test it properly yet (will be coming soon officially), an Object Orientated C++ wrapper will then be made using the C wrapper however the C wrapper could be used directly with C++ without any problems. You could even write your own wrapper or just use the DLL directly if you don't want to wait :)

Thanks!

Chris.

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

Link to comment
Share on other sites

I think PrincieD should consider himself lucky.

The Mods seemto be in a particularly good mood today.

The thread starts with commercial spam and then goes on to promote the use of another language.

Well done Oh Lucky One.

Apologies GEOSoft, ProGUI is licenseware (I have to pay the bills) but can be trialled for as long as you want and does benefit the AutoIt community. With regards promoting other languages, I was answering a question that was asked by a member of the AutoIt community and a programming language is a tool, you use the right tools for the right jobs. AutoIt can't make DLL's and the reply was simply answering a question. Sorry again if this thread has offended :mellow:

Chris.

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

Link to comment
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
 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...