No announcement yet.

EZGUI 4.0 Professional - Super Sale (only $99) (beat the recession)

  • Filter
  • Time
  • Show
Clear All
new posts

    Tired of the API ?

    Are you an experienced API programmer looking for something faster and easier ?

    Are you tired of using the Windows API ?

    Some times you just want to concentrate on building an application, rather than run around in circles trying to figure out something new you haven't used yet in the API.

    By combining your experience with the API, with a tool like EZGUI, you can start building complex applications at a faster rate and enjoy programming again.

    If you feel using the API is easy (for you) and that there is no better way to program than to write pure API code, then EZGUI is not for you.

    But if you (like me), can handle the API quite well, but just simply get tired of the same old thing over and over again (reading API docs, double checking API syntaxes, researching what API to use for a new task, converting C code to PB just to do something), then seriously consider EZGUI 4.0 Pro.

    EZGUI's commands use a much easier syntax than API functions.
    EZGUI offers many high level commands which would require many dozens of lines of code using the API.
    EZGUI handles many things for you in its event engine so you don't have to waste time with a lot of mundane code.
    EZGUI events pass the necessary data for you to deal with the event (ie. a scrollbars %EZ_Change event passes the current position of the scrollbar).

    Still want to use the API where it counts ?

    EZGUI provides a number of hooks into its internal engines so you can integrate API code when needed. I don't discourage using the API. Just use when EZGUI doesn't already handle it for you.

    EZGUI was designed to speed up development, simply put.

    By making coding simpler, providing high level features and handling many mundane tasks in the background (never write a message loop again) EZGUI makes programming fun again.

    EZGUI also pushes the limits of what you can do in a Windows app.

    If you haven't worked with ownerdraw, customdraw or regions using the API yet, get ready for some fun using EZGUI. EZGUI makes such things easy to do, so you can concentrate on doing the task at hand, rather than researching the API trying to figure out how to do it.

    If you are an experienced API programmer, but haven't considered EZGUI because you felt is was either for beginners or because you think using such a tool is somehow demeaning to an API purist. then think again.

    EZGUI is a real power tool!

    If you can do a lot with the API now, imagine what you could do by combining the power of EZGUI with your API experience.
    Chris Boss
    Computer Workshop
    Developer of "EZGUI"


      Just to make a point about how high level EZGUI and how it leverages the power of Windows, download the Layered Sprites demo and run the program:

      This demo animates sprites right on top of the desk top (layered window).

      If you an experienced API programmer, could you write such an applications (the layered window is the easy part, the sprites is the hard part) ?

      How good is your knowledge of the Windows API ?

      EZGUI does this using just the Windows GDI and no DirectX, GDI+, OpenGL. Could you have written this just using the GDI ?

      Experienced API programmers who use EZGUI, will likely appreciate it even more than beginners, since they know how hard it is to accomplish somethings that EZGUI does.

      Remember, EZGUI is in its fourth generation. I have had a lot of time to research the API to figure out how to do many things and this shows in EZGUI 4.0 Pro.
      Chris Boss
      Computer Workshop
      Developer of "EZGUI"


        Customize, customize, customize

        EZGUI 4.0 Pro goes far beyond the basic controls and forms.

        First, Forms can be non-rectangular based on a Bitmap background. EZGUI not only can generate the necessary region based on a Bitmap to accomplish this, but the Visual Designer has this feature built in. You can actually see what your form will look like (in test mode) visually.

        The Visual Designer allows you to select many different Form types, such as:

        - Regular Form
        - MDI Parent Form
        - MDI Child Form
        - Rebar Form (for use with Rebars)
        - Pager Form (for use with Pagers)
        - Page Form (a child form, much like a control)
        - Splash Form

        EZGUI also allows you to customize controls far beyond the regular style.

        Using EZGUI's OwnerDraw Engine you can customize the look of controls significantly. In reality its like creating your own new controls.

        Not only does EZGUI provide ownerdraw events (and fully prepares everything for your drawing), but it provides commands to actually do all the drawing. Remember, EZGUI has its own Graphic engine and this is tapped to provide a number of drawing features.

        There is a high level ownerdraw command set, (called the Simplified Ownerdraw Command set) which allows you to customize many controls with a single line of code (try doing that with the API).

        If you like more control over drawing, then there is the low level ownerdraw command set and graphic commands. They are still easier to use than the API, but yet still allows you to draw things exactly the way you want.

        Now to customize controls even more, there is a subclassing engine which gives you access to the controls actual internal window events. These are converted to EZGUI events for many common messages.

        EZGUI goes further. It takes events beyond what the API directly provides in a single message.

        One example is the Listview control.

        EZGUI generates the %EZ_Selected and %EZ_UnSelected events for items in the control. But it goes further. It also generates some unique events such as:


        These events are generated when an item is clicked, but goes further. It gets extra information about the click (just call one command to get all this info) such as:

        - Actual X position of mouse click in client coordinates
        - Actual Y position of mouse click in client coordinates
        - X position of mouse click relative to subitem
        - Y position of mouse click relative to subitem
        - Column mouse is clicked on

        as well as the Items Index.

        Now when you customize the control using ownerdraw, you can even customize how mouse clicks on certain areas within an item are handled.

        Another example of customization is the Listbox control.

        A Listbox control can be converted to a Drag Listbox using the API, but it requires a good bit of code to do it.

        EZGUI makes it easy!

        Simple select the Drag Listbox property and the control it automatically converted to a drag listbox and EZGUI handles all the message processing for you to impliment it. No effort is necessary on your part.

        How often have you used a drag listbox in your apps ?

        With EZGUI it is simple.

        EZGUI goes beyond the standard stuff with controls. You can create totally unique looking controls, which no one else has in their apps. Why buy a bunch of third party controls (especially ActiveX), when you can create your own unique looking controls with EZGUI (its part of the main runtime).

        And if you really need a third party control (ie. I recommend some of the grids for PB, like EGrid or SIGird or MLG), EZGUI provides the necessary mechanisms to use them (in DLL form only).

        When using third party controls, EZGUI can even use its subclassing engine with them to provide extra features, such as draggable borders, size and move (drag and drop), preprocess key presses, process right click for popup menus. EZGUI can even custom draw their backgrounds (if they use the standard WM_ERASEBKGND message for this).

        If you want more out of your GUI's, then seriously consider EZGUI 4.0 Pro.

        At this price it is a deal!
        Chris Boss
        Computer Workshop
        Developer of "EZGUI"


          The power of EZGUI 4.0 Pro is its runtime command set.

          If you only want an easy to use Visual Designer and you are happy to write all the rest of the code, then EZGUI 4.0 Pro may not be for you.

          But if you want to push your software to the limit and want power feature after power feature, need to do many complex GUI tasks with the more difficult controls (ie. Listview, Treeview, RichEdit), want an totally different front end to your apps (ie. ownerdraw, graphics, etc.) and need to be able to create a unique interface for your applications, then seriously consider EZGUI 4.0 Pro.

          I have said this in the past, and I still believe it.

          The strength of EZGUI is its runtime GUI engine.

          You would be hard pressed to find such an extensive feature set in any other tool for PowerBasic.

          EZGUI is like getting multiple tools in one integrated package, a Visual Designer/Code Generator, a GUI Engine, a Print Engine, a Graphic Engine and oh so much more.

          The customers who benefit the most from EZGUI are the ones who take advantage of its extensive feature set. The more features of the runtime you use, the more complex and powerful your apps become.

          When I added new features to each new version of EZGUI, I asked myself "what common Windows tasks would many PB'ers want to be able to do ?". I then added feature after feature.

          Rather than touching on rarely used features of Windows, I concentrated on the most common features seen in Windows applications. What kind of things are being done by the "big" software companies ?

          Also, rather than make EZGUI users dependent upon a variety of third party components, like VB'ers are with all the ActiveX controls they need to use for a decent application, EZGUI provides you with all the tools (many low level) needed to create your own unique GUI's, without all the over head of components. Of course there are a few PB based third party tools that I would recommend, which provide some very high level features (ie. EGrid, GDImage, SIGrid, MLG, RMChart, DDoc) for those who really need them. But unlike VB, you won't have to keep looking for extra components, just to get that special look for your apps. With its ownerdraw and graphics engine, you can customize so many things.

          This is an amazing price for such a powerful tool. Don't let it skip by.
          Chris Boss
          Computer Workshop
          Developer of "EZGUI"


            Don't let this sale pass you by!

            Even if you are already using another Visual Designer right now, seriously consider getting EZGUI 4.0 Pro to complete your toolbox.

            You don't have to use EZGUI for every project. There is no reason you can't use other tools when they fit your needs.

            Where EZGUI shines though is when you build very large and complex applications. The command set for the runtimes are so extensive, you can do many things easily which would require some very complex code using the API.

            If you need to build an application which requires some of these advanced features, save time by adding EZGUI to your toolbox of programming tools.

            For example, EZGUI provides the easiest command set for implimenting drag icons in a Listview or Treeview control. Not only does it provide the mechanism to display the drag icon, but it goes further than than any API code you likely have seen.

            EZGUI provides the following features for drag icons:

            - supports both Listview and Treeview controls
            - supports dragging within control, over entire form (drop on other controls) or over the entire screen (all apps on the desktop)
            - supports AutoScrolling control when drag icon hits top or bottom of control
            - supports customdraw (customizing) autoscroll icons
            - supports autocreate drag icon from items text
            - supports item hot tracking

            If you needed to write an app with multiple listviews and treeviews, all with drag icon support you would be hard pressed to do it using the API (meaing you could do it, but you would end up writing a lot of code for each and every control).

            To impliment a drag icon in EZGUI is as simple as:

                     CASE %EZ_DragItem
                         EZ_StartDrag App_ImageListNum&, App_ImageListIndex&,0,8, "T"
                     CASE %EZ_DragItemDrop
                         IF EZ_GetDragInfo (X&, Y&, ItemN&) THEN
                             ' you get position and item index of where drag icon drops
                         END IF
            There are many high level features like this in EZGUI 4.0 Pro!

            For example, when it comes to Graphics EZGUI 4.0 Pro's new Sprite engine allows you to do things you could never do very easily with the API.

            So when you need to build those large, complex applications, use EZGUI 4.0 Pro. When you can build an app using the API alone, then use your current Designer tool.

            EZGUI can also be used to quickly prototype apps.

            Let's say the final app needs to be pure API code.

            Use EZGUI 4.0 to quickly prototype the app with its high level features.
            The you can use your prototype as a working model to start building it using the API and then take the time to learn each API needed to impliment the higher level features.

            For this price, you can add EZGUI 4.0 Pro to your toolbox for what ever needs you have.

            Oh, there is one other use for EZGUI for those who prefer the API.

            EZGUI is the only Visual Design/GUI tool which has a built in Visual Designer drag and drop engine. EZGUI's own visual designer was built using EZGUI. EZGUI provides a drag and drop engine to impliment all the necessary steps to create your own visual designer. Build your own inhouse visual designer to work exactly the way you want it to work or any other WYSIWYG type applications.

            Do you need to build a report writer for your apps ?

            The Visual Designer engine allows you to easily build true drag and drop GUI's. It even comes with its own drag handle control, so implimenting drag handles is as easy as it gets.

            There are many uses for EZGUI 4.0 Pro, even if you are currently using other visual design tools and prefer API coding styles.
            Chris Boss
            Computer Workshop
            Developer of "EZGUI"


              Chris, can you explain everything about layers? or point me to an
              explanation of layers in EZGUI?

              I might forward you a customer.


                When a control is created, it is defined on a specific layer.

                EZGUI supports 100 layers.

                Layer 0 (zero) is considered the background layer.

                Layers 1 to 99 are on top of layer zero.

                A common use for Layers is Tab controls. Rather than assign a unique child form to each Tab and then put the controls on each child form, with EZGUI you don't need any child forms. You simply put the Tab control on layer 0. Then for the first tab, put controls on layer 1. For the second tab, put control on layer 2, and so on.

                Now when the tab control gets the %EZ_Change event (a tab selected), you simply make one call to the EZ_DisplayLayer command and it will display layer 0 and one other layer (which you define) and hide all the other layers. This in essence displays only the controls you need for one tab.

                Now the nice thing about layers, is that they are not tied to the Tab control. Tab controls is just one of their uses. Layers can be used for anything you want. For example you can easily create Wizard style dialogs (forms) using layers (and no tab controls needed).

                EZGUI simply stores the controls layer number and knows what layer a control belongs on. When you call EZ_DisplayLayer EZGUI can show certain layers, while hiding others.

                The really nice thing about this, is that the Designer supports layers. You can actually work with layers visually and see how you program will really look. Unlike other Designers which use child forms for Tab controls (or other uses), which you can only see in action with the compiled app, EZGUI allows you to work visually with layers.

                Also layers minimize the number of forms you need to work with.

                Imagine having a tab control with 20 tabs on it. With child forms, this would mean you need 20 child forms. Thats a lot of forms to keep track of.

                With EZGUI, you only need one form. All the controls are on that form. They simply are assigned different layers.

                EZGUI also uses Regions when displaying layers. This means that you get less flicker, because only the areas on the form which are changed get updated (EZGUI generates an update region based on the controls hidden and the controls shown).
                Chris Boss
                Computer Workshop
                Developer of "EZGUI"


                  Here is how Layers are coded:

                  SUB EZ_FORM1_Design()     ' (PROTECTED)
                       LOCAL CText$
                       EZ_SetLayer 1
                       EZ_UseFont 4
                       EZ_Text %FORM1_TEXT1, 7.5, 6.5, 76.5, 15.5, "", "EST"
                       EZ_SetLayer 2
                       EZ_UseFont 4
                       EZ_ListView %FORM1_LISTVIEW1, 6, 6.75, 80, 15.75, "Column 1{15}|Column 2{15}{C}|Column 3{15}{R}|", "SVT"
                       FORM1_LISTVIEW1_Fill -1
                       EZ_SetLayer 3
                       EZ_UseFont 4
                       EZ_Canvas %FORM1_CANVAS1, 6.5, 6.75, 33, 15.25, "S"
                       FORM1_CANVAS1_Draw -1
                       EZ_UseFont 4
                       EZ_Canvas %FORM1_CANVAS2, 43, 6.75, 42.5, 15.25, "S"
                       FORM1_CANVAS2_Draw -1
                       EZ_SetLayer 4
                       EZ_UseFont 4
                       EZ_FListBox %FORM1_FLISTBOX1, 7.5, 7, 77.5, 15, "", "SVT"
                       FORM1_FLISTBOX1_Init "Form1", %FORM1_FLISTBOX1
                       EZ_Color 1, 17
                       EZ_UseIFont "Tahoma", 16,"BV"
                       EZ_TabControl %FORM1_TAB1, 4, 2.75, 84.5, 21, "Tab 1|Tab 2|Tab 3|Tab 4", "OMT"
                       EZ_DisplayLayer "FORM1", 1, 0 OR %EZ_DECtrls
                  END SUB
                  Notice the EZ_SetLayer command in the code. All the controls created after a call to this command are put on the layer defined by the command.
                  Chris Boss
                  Computer Workshop
                  Developer of "EZGUI"


                    This special Bundle offer (EZGUI 4.0 Pro and Utility Dialog Designer) ends tonight, so acted quickly.
                    Chris Boss
                    Computer Workshop
                    Developer of "EZGUI"


                      I meant to do it, will still do it tonight IF you can tell me that TRACKBARS with SELECTION COLOR can be done on TAB Pages or layers. Right now I see tons of google stuff relating to my problem. On a tab page the trackbar with setSEL does not show the colored selection with WS_ENABLESELRANGE, only the start and stop arrows showing the select range.


                        Is this what you mean ?

                        The Designer does not directly support the TBS_ENABLESELRANGE but it is easily coded. Here is the controls event code which does this:

                        SUB FORM1_HTRACKBAR1_Events( MyID&, CMsg&, CVal&, Cancel&)
                             SELECT CASE CMsg&
                                  CASE %EZ_Change
                                  CASE %EZ_Loaded
                                       EZ_PostEvent "Form1", MyID&, 1
                                  CASE %EZ_Post
                                       IF CVal&=1 THEN
                                            EZ_SetTBar "Form1", MyID&, 0, 20, 10
                                            EZ_SendMessage "Form1", MyID&, %EZ_USER+10,1, MAKLNG(5,15)
                                       END IF
                                  CASE %EZ_Loading
                                       EZ_AppendStyle &H0020   ' %TBS_ENABLESELRANGE
                                  CASE ELSE
                             END SELECT
                        END SUB
                        Chris Boss
                        Computer Workshop
                        Developer of "EZGUI"


                          Yes. And I do not limit the pos of the thumb in it, but that is normally our place to catch in our code.


                            This Sale has ended!

                            This Sale has ended, but another one is being offered so check other posts in this forum.
                            Chris Boss
                            Computer Workshop
                            Developer of "EZGUI"