Yes, the long awaited EZGUI 1.0 has finally been released !
Part 1
For those of you who would like a little more information about EZGUI and what it can do for you, here is a Summary of EZGUIs main features.
EZGUI is a "complete" GUI engine
What this means is that it not only helps you create your Dialogs (called Forms in EZGUI), but it handles many of the common runtime chores your programs need to handle. Even if you could create a nice GUI using the API (SDK style), you would still have to process messages, handle scrollbar messages, handle color messages and program actions for controls. EZGUI gives you nearly 150 functions for the most common tasks used in a Windows application.
First, lets start with the WM_COMMAND message. Each control type has its own API constants for different messages. Its hard to remember them all. EZGUI simplifies things like this:
EZGUI has a single callback procedure for "all" events for "all" Dialogs called:
EZ_Events(FormName$, CID&, CMsg&, CVal&, Cancel&)
FormName$ is a text string that contains the Name of your Form
CID& is the Controls ID number
CMsg& is the controls message for an event
CVal& is a secondary value passed for an event
Cancel& allows you to cancel some actions (like closing a Form)
With a simply Select case structure you can parse out the events.
The EZGUIs "concept" is to simplify working with your GUI as much as possible and here is some of the ways it does this.
There is only one Event procedure for "all" Forms (Dialogs)
Dialogs (Forms) are referenced by a Name rather than by using a variable to track a window Handle. This is similiar to how VB tracks forms.
The messages (Events) passed the the EZ_Events procedure have been preprocessed and if possible, they have been converted to one of the "universal" EZGUI constants listed below:
%EZ_Click
%EZ_DClick
%EZ_Focus
%EZ_NoFocus
%EZ_Disable
%EZ_Change
%EZ_Timer
%EZ_Tooltip
%EZ_Unknown
Subclassed control messages:
%EZ_LButtonDown
%EZ_LButtonDC
%EZ_MButtonUp
%EZ_RButtonUp
%EZ_SubClass
%EZ_Drag
%EZ_Drop
%EZ_Size
Rather than have a different set of constants for each control type, EZGUI converts "all" messages for any EZGUI supported control, to one of its own "Universal" message constants. The above constants handle most of the common events for most controls.
This makes your code more readable and easier to write.
ie. If a Combobox or a Listbox have a different item selected then they both receive an %EZ_Change event. The newly selected index for the item is passed in the CVal& parameter.
ie. If a Scrollbar or an UpDown control have been activated and their value has been changed, they both receive an %EZ_Change event and the new value is passed in the CVal& parameter.
ie. If you Click the mouse on a Button, Label, Icon or Picture control they all receive a %EZ_Click event.
For Subclassed controls:
ie. If "any" control has been dragged and then dropped (moved) they all receive an %EZ_Drag and then %EZ_Drop event.
Note: EZGUI has its own Visual Design engine built in ! You can move controls and resize them. Make your own Visual Designer !
It's as easy as 1, 2, 3
(to be continued)
Part 1
For those of you who would like a little more information about EZGUI and what it can do for you, here is a Summary of EZGUIs main features.
EZGUI is a "complete" GUI engine
What this means is that it not only helps you create your Dialogs (called Forms in EZGUI), but it handles many of the common runtime chores your programs need to handle. Even if you could create a nice GUI using the API (SDK style), you would still have to process messages, handle scrollbar messages, handle color messages and program actions for controls. EZGUI gives you nearly 150 functions for the most common tasks used in a Windows application.
First, lets start with the WM_COMMAND message. Each control type has its own API constants for different messages. Its hard to remember them all. EZGUI simplifies things like this:
EZGUI has a single callback procedure for "all" events for "all" Dialogs called:
EZ_Events(FormName$, CID&, CMsg&, CVal&, Cancel&)
FormName$ is a text string that contains the Name of your Form
CID& is the Controls ID number
CMsg& is the controls message for an event
CVal& is a secondary value passed for an event
Cancel& allows you to cancel some actions (like closing a Form)
With a simply Select case structure you can parse out the events.
Code:
EZ_Events(FormName$, CID&, CMsg&, CVal&, Cancel&) Select Case FormName$ case "FORM1" Select case CID& case 100 ' a buttons ID # if CMsg&=%EZ_Click then ' do something end if End Select case "FORM2" case "MYFORM" case else End Select End Sub
There is only one Event procedure for "all" Forms (Dialogs)
Dialogs (Forms) are referenced by a Name rather than by using a variable to track a window Handle. This is similiar to how VB tracks forms.
The messages (Events) passed the the EZ_Events procedure have been preprocessed and if possible, they have been converted to one of the "universal" EZGUI constants listed below:
%EZ_Click
%EZ_DClick
%EZ_Focus
%EZ_NoFocus
%EZ_Disable
%EZ_Change
%EZ_Timer
%EZ_Tooltip
%EZ_Unknown
Subclassed control messages:
%EZ_LButtonDown
%EZ_LButtonDC
%EZ_MButtonUp
%EZ_RButtonUp
%EZ_SubClass
%EZ_Drag
%EZ_Drop
%EZ_Size
Rather than have a different set of constants for each control type, EZGUI converts "all" messages for any EZGUI supported control, to one of its own "Universal" message constants. The above constants handle most of the common events for most controls.
This makes your code more readable and easier to write.
ie. If a Combobox or a Listbox have a different item selected then they both receive an %EZ_Change event. The newly selected index for the item is passed in the CVal& parameter.
ie. If a Scrollbar or an UpDown control have been activated and their value has been changed, they both receive an %EZ_Change event and the new value is passed in the CVal& parameter.
ie. If you Click the mouse on a Button, Label, Icon or Picture control they all receive a %EZ_Click event.
For Subclassed controls:
ie. If "any" control has been dragged and then dropped (moved) they all receive an %EZ_Drag and then %EZ_Drop event.
Note: EZGUI has its own Visual Design engine built in ! You can move controls and resize them. Make your own Visual Designer !
It's as easy as 1, 2, 3
(to be continued)
Comment