Announcement

Collapse
No announcement yet.

EZGUI 4.0 Pro - On Sale for only $99

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • EZGUI 4.0 Pro - On Sale for only $99

    EZGUI 4.0 Professional is now on sale.
    Normally $249 (US) , it is currently on sale for only $99 (save $150).

    http://cwsof.com/order.htm (quick link to order page)

    Some info about EZGUI 4.0 Pro:

    http://cwsof.com/forums/index.php?topic=60.0

    http://cwsof.com/details/index.html
    Last edited by Chris Boss; 22 Jul 2009, 10:03 AM.
    Chris Boss
    Computer Workshop
    Developer of "EZGUI"
    http://cwsof.com
    http://twitter.com/EZGUIProGuy

  • #2
    This is a great sale so don't let it go by.
    Theres just a few days left.

    If you are just looking for a VB look alike, then EZGUI may not be for you.

    If you are looking for a totally different way to write Windows applications, that gives you access to some of the more complex features of Windows, allows you easy customization of controls and dialogs and gives you some real "power" tools, then seriously consider EZGUI 4.0 Pro.

    EZGUI 4.0 Pro is worth every penny at $249 (regular price). At $99 it is a deal.

    No other GUI tool for PB has such an extensive command set for handling so many different things.

    If you like to write code and need a "power" tool, then EZGUI may be it.

    IMO, many Windows API programmers don't use the more advanced interface features of many controls. VB'ers are used to just plugging in components, rather than coding, IMO. When using the API it is harder to get some of those "nice" features used by many professional apps, so many don't attempt to use them.

    For example take a look at this poll I posted on the PB forums:

    http://www.powerbasic.com/support/pb...ad.php?t=40926

    True it is only small sampling of PB'ers, but the results are interesting.

    Notice for example few are using the Rebar control.

    Rebars are one of the "hot" controls used by many apps today.

    Why aren't you using them ?

    EZGUI makes Rebars so simple, that you can use them all the time.

    Heres an example of a Form (dialog) with a Rebar control with two Rebar pages on it:




    Notice how easy it is to code this using EZGUI.

    Here is the rebar control creation code:

    Code:
         EZ_Color-1,-1
         EZ_UseFont 4
         EZ_SubClass 2
         EZ_Rebar %MDIPARENT_REBAR1, 0, 0, 0,  2, 0, "?^AFV["
         EZ_SubClass 0
    Now lets' create the two rebar child pages (called Rebar Forms in EZGUI):

    Rebar Form #1:


    Code:
    SUB EZ_TBAR1_Display(BYVAL FormName$, BYVAL RebarID&, BYVAL BText$, BYVAL ImgIndex&, BYVAL HWidth&, BYVAL BGPict$, BYVAL BProp$)     ' (PROTECTED)
         EZ_Color -1, -1
         EZ_AddRBForm FormName$, RebarID&, 28, 2,"TBAR1", BText$, ImgIndex&, HWidth&, BGPict$, BProp$
    END SUB
    '
    '
    SUB EZ_TBAR1_Design()     ' (PROTECTED)
         LOCAL CText$
         EZ_Color-1,-1
         EZ_UseFont 4
         STATIC PN1$
         IF PN1$ = "" THEN PN1$ = EZ_LoadPicture("%EZMTOOLBAR{S}")
         EZ_Toolbar %TBAR1_TOOLBAR1, PN1$,  "BBBB B|F124M", "!FNOT24X24"
         ' -----------------------------------------------
    END SUB

    Rebar Form #2:


    Code:
    SUB EZ_TBAR2_Display(BYVAL FormName$, BYVAL RebarID&, BYVAL BText$, BYVAL ImgIndex&, BYVAL HWidth&, BYVAL BGPict$, BYVAL BProp$)     ' (PROTECTED)
         EZ_Color -1, -1
         EZ_AddRBForm FormName$, RebarID&, 81, 2.5,"TBAR2", BText$, ImgIndex&, HWidth&, BGPict$, BProp$ + "K"
    END SUB
    '
    '
    SUB EZ_TBAR2_Design()     ' (PROTECTED)
         LOCAL CText$
         EZ_Color 35, 34
         EZ_UseFont 0
         EZ_ODButton %TBAR2_BOLDBUTTON, .5, .25, 4, 2, "B", "T"
         EZ_SetRegion "TBAR2", %TBAR2_BOLDBUTTON,-2,0
         ' -----------------------------------------------
         EZ_Color 35, 34
         EZ_UseFont 0
         EZ_ODButton %TBAR2_ITALICBUTTON, 4.5, .25, 4, 2, "I", "T"
         EZ_SetRegion "TBAR2", %TBAR2_ITALICBUTTON,-2,0
         ' -----------------------------------------------
         EZ_Color 35, 34
         EZ_UseFont 0
         EZ_ODButton %TBAR2_UNDERBUTTON, 8.5, .25, 4, 2, "U", "T"
         EZ_SetRegion "TBAR2", %TBAR2_UNDERBUTTON,-2,0
         ' -----------------------------------------------
         EZ_Color-1,-1
         EZ_UseFont 4
         EZ_AllowLoadingEvent 2
         EZ_ComboBox %TBAR2_FONTNAMES, 13.5, .625, 27.625, 15.875, "Custom Font", "$?AJOTV"
         EZ_SelectItem "TBAR2", %TBAR2_FONTNAMES, 0
         ' -----------------------------------------------
         EZ_Color-1,-1
         EZ_UseFont 4
         EZ_AllowLoadingEvent 2
         EZ_ComboBox %TBAR2_FONTSIZES, 41.75, .625, 7.625, 18.5625, "8|9|10|11|12|", "JTV"
         EZ_SelectItem "TBAR2", %TBAR2_FONTSIZES, 0
         ' -----------------------------------------------
         EZ_Color-1,-1
         EZ_UseFont 4
         EZ_AllowLoadingEvent 2
         EZ_ComboBox %TBAR2_FONTCOLORS, 50.125, .625, 17.125, 15.875, "Item 1|Item 2|Item 3|Item 4|Item 5|", "$JOTV"
         EZ_SelectItem "TBAR2", %TBAR2_FONTCOLORS, 0
         ' -----------------------------------------------
         EZ_Color 35, 34
         EZ_UseFont 0
         EZ_ODButton %TBAR2_LEFTBUTTON, 68.25, .25, 4, 2, "L", "T"
         EZ_SetRegion "TBAR2", %TBAR2_LEFTBUTTON,-2,0
         ' -----------------------------------------------
         EZ_Color 35, 34
         EZ_UseFont 0
         EZ_ODButton %TBAR2_CENTERBUTTON, 72.25, .25, 4, 2, "C", "T"
         EZ_SetRegion "TBAR2", %TBAR2_CENTERBUTTON,-2,0
         ' -----------------------------------------------
         EZ_Color 35, 34
         EZ_UseFont 0
         EZ_ODButton %TBAR2_RIGHTBUTTON, 76.25, .25, 4, 2, "R", "T"
         EZ_SetRegion "TBAR2", %TBAR2_RIGHTBUTTON,-2,0
         ' -----------------------------------------------
    END SUB
    In the Rebars event code, the two Rebar Forms are added to the parent rebar control using this code:

    Code:
                        CASE %EZ_Loaded
                             EZ_TBAR1_Display "MDIParent", %MDIPARENT_REBAR1, "", 0,-1, "","|E?>"
                             EZ_TBAR2_Display "MDIParent", %MDIPARENT_REBAR1, "", 0,-1, "","|E?>"
    Thats it!

    EZGUI uses actual Forms for the children of the Rebar control, so you can design them using the Visual Designer and it will generate the code for you. You can put any controls you like on a Rebar Form and they will get events just like any other controls.

    For example in the above example, the comboboxes on the rebar (child) forms will change their contents and do their drawing in their own events, not the rebars events.

    ie.

    Heres the events for the toolbar on the first rebar form:

    Code:
    SUB TBAR1_TOOLBAR1_Events( BYVAL TBarID&, MyID&, BYVAL ButtonN&, CMsg&, CVal&, Cancel&)
         SELECT CASE CMsg&
              CASE %EZ_Click
                   SELECT CASE ButtonN&
                        CASE 1 TO 4
                             DoTextFile ButtonN&-1
                        CASE 5
                             DoPrint 1
                   END SELECT
              CASE %EZ_ToolTip
                   SELECT CASE ButtonN&
                        CASE 1
                             EZ_SetToolTip "New File"
                        CASE 2
                             EZ_SetToolTip "Open File"
                        CASE 3
                             EZ_SetToolTip "Save File"
                        CASE 4
                             EZ_SetToolTip "Close File"
                        CASE 5
                             EZ_SetToolTip "Print"
                   END SELECT
              CASE ELSE
         END SELECT
    END SUB
    Heres the events for some of the controls on the second rebar form:

    Code:
    SUB TBAR2_BOLDBUTTON_Events( MyID&, CMsg&, CVal&, Cancel&)
         SELECT CASE CMsg&
              CASE %EZ_Click
                   ChangeFontEffect 1, CVal&
              CASE %EZ_OwnerDraw
                   IF App_BoldState& THEN
                        EZ_Draw3DButtonRR "TBAR2", MyID&, CVal&, 46, 47,  0
                   ELSE
                        EZ_Draw3DButtonRR "TBAR2", MyID&, CVal&, 34, 35,  0
                   END IF
              CASE ELSE
         END SELECT
    END SUB
    '
    SUB TBAR2_ITALICBUTTON_Events( MyID&, CMsg&, CVal&, Cancel&)
         SELECT CASE CMsg&
              CASE %EZ_Click
                   ChangeFontEffect 2, CVal&
              CASE %EZ_OwnerDraw
                   IF App_ItalicState& THEN
                        EZ_Draw3DButtonRR "TBAR2", MyID&, CVal&, 46, 47,  0
                   ELSE
                        EZ_Draw3DButtonRR "TBAR2", MyID&, CVal&, 34, 35,  0
                   END IF
              CASE ELSE
         END SELECT
    END SUB
    '
    SUB TBAR2_UNDERBUTTON_Events( MyID&, CMsg&, CVal&, Cancel&)
         SELECT CASE CMsg&
              CASE %EZ_Click
                   ChangeFontEffect 3, CVal&
              CASE %EZ_OwnerDraw
                   IF App_UnderState& THEN
                        EZ_Draw3DButtonRR "TBAR2", MyID&, CVal&, 46, 47,  0
                   ELSE
                        EZ_Draw3DButtonRR "TBAR2", MyID&, CVal&, 34, 35,  0
                   END IF
              CASE ELSE
         END SELECT
    END SUB
    '
    SUB TBAR2_FONTSIZES_Events( MyID&, CMsg&, CVal&, Cancel&)
         SELECT CASE CMsg&
              CASE %EZ_Change
                   ChangeFontEffect 5, CVal&
              CASE %EZ_Loading
                   FillFontSize
              CASE ELSE
         END SELECT
    END SUB
    '
    SUB TBAR2_FONTCOLORS_Events( MyID&, CMsg&, CVal&, Cancel&)
         SELECT CASE CMsg&
              CASE %EZ_Change
                   ChangeFontEffect 6, CVal&
              CASE %EZ_OwnerDraw
                   EZ_DrawComboBox "TBAR2", MyID&, CVal&, 4, 0, "C"
              CASE %EZ_OwnerSize
                   EZ_SizeComboBox CVal&, 4
              CASE %EZ_Loading
                   FillFontColors
                   EZ_SubClass 2
              CASE %EZ_Loaded
                   EZ_SubClass 0
              CASE %EZ_EraseBG
                   Cancel&=1
              CASE ELSE
         END SELECT
    END SUB
    '
    SUB TBAR2_LEFTBUTTON_Events( MyID&, CMsg&, CVal&, Cancel&)
         SELECT CASE CMsg&
              CASE %EZ_Click
                    ChangeParEffect 0
              CASE %EZ_OwnerDraw
                   IF App_LeftAlign& THEN
                        EZ_Draw3DButtonRR "TBAR2", MyID&, CVal&, 46, 47,  0
                   ELSE
                        EZ_Draw3DButtonRR "TBAR2", MyID&, CVal&, 34, 35,  0
                   END IF
              CASE ELSE
         END SELECT
    END SUB
    '
    SUB TBAR2_CENTERBUTTON_Events( MyID&, CMsg&, CVal&, Cancel&)
         SELECT CASE CMsg&
              CASE %EZ_Click
                    ChangeParEffect 1
              CASE %EZ_OwnerDraw
                   IF App_CenterAlign& THEN
                        EZ_Draw3DButtonRR "TBAR2", MyID&, CVal&, 46, 47,  0
                   ELSE
                        EZ_Draw3DButtonRR "TBAR2", MyID&, CVal&, 34, 35,  0
                   END IF
              CASE ELSE
         END SELECT
    END SUB
    '
    SUB TBAR2_RIGHTBUTTON_Events( MyID&, CMsg&, CVal&, Cancel&)
         SELECT CASE CMsg&
              CASE %EZ_Click
                    ChangeParEffect 2
              CASE %EZ_OwnerDraw
                   IF App_RightAlign& THEN
                        EZ_Draw3DButtonRR "TBAR2", MyID&, CVal&, 46, 47,  0
                   ELSE
                        EZ_Draw3DButtonRR "TBAR2", MyID&, CVal&, 34, 35,  0
                   END IF
              CASE ELSE
         END SELECT
    END SUB
    You don't put individual controls on a rebar control with EZGUI. You put child Forms on the rebar control (the API calls them bands). This allows you to work with the rebars bands like any normal form and it can be done visually in the designer.
    Chris Boss
    Computer Workshop
    Developer of "EZGUI"
    http://cwsof.com
    http://twitter.com/EZGUIProGuy

    Comment


    • #3
      Another control not used often as much as it should is the Pager control, according to my poll.

      EZGUI makes working with the Pager control even easier than the Rebar, since Pagers only have one child form. You create what EZGUI calls a Pager Form on the Pager control. You design it like any other form in the Designer and the controls get events like normal. EZGUI handles the rest, including the scrolling of the pager form.

      Now how about Property List controls ?

      A lot of leading edge software today uses property list controls.

      Well, there is no property list control in the Windows API. So if you use the API alone and don't have the ability to write your own, you won't have many options. You will have to purchase a third party control from somewhere.

      EZGUI comes with its own Property List control and since its part of the GUI engine its overhead is very small. EZGUI even allows you to customize it and draw on top of the items after EZGUI does, using the built int ownerdraw engine (EZGUI uses its own ownerdraw engine to create this control).

      Here what one looks like:



      The property listbox control can display:

      - Catagory Headings
      - Text Field
      - Color Field (displays Color Common Dialog to select colors)
      - Filename Field (displays Open File Common Dialog to select filename and path)
      - DropDown List (displays a drop down list to select an item)

      The Visual Designer even provides a "Property Listbox Builder Dialog" so you can define all the properties and have the Designer generate the code for you.

      Chris Boss
      Computer Workshop
      Developer of "EZGUI"
      http://cwsof.com
      http://twitter.com/EZGUIProGuy

      Comment


      • #4
        Do you like colored Buttons ?

        Do you like 3D colored buttons ?

        EZGUI's ownerdraw engine can produce all sorts of button effects.

        You can visually use such buttons in the Designer as well.

        Here is an example:



        Noe use the same buttons, but select a Button plugin to replace the current button effects and you get:



        Select another Button plugin and the same buttons automatically are converted by the designer to:



        This is a unique feature in EZGUI.

        How about simple shapes ?

        EZGUI's shape control gives you more choices than a simple line control.

        How about ...




        EZGUI's shape control can also act as a HotSpot control

        What is a hot spot control ?

        Imagine displaying a bitmap image where you would like to have certain sections of the bitmap respond to mouse clicks. You can overlay on top a group of hot spot controls, which are totally invisible but still respond to mouse clicks.
        Chris Boss
        Computer Workshop
        Developer of "EZGUI"
        http://cwsof.com
        http://twitter.com/EZGUIProGuy

        Comment


        • #5
          EZGUI is real a good deal for those who want to do a lot of graphics.

          The built in graphic engine makes it worth the price.

          EZGUI has its own Canvas control. This is no ordinary graphic (canvas) control.

          The control provides double buffers to work with. You can define the buffers as DDB's (bitmap using current video color depth) and 16,24 or 32 bit DIB's (device independent bitmaps). When using DIB's, you access the pixel data directly using pointers. This is not the same thing as using some kind of GET/SET BITs command. That requires moving all the pixel data to a buffer, manipulate it and then move it back.

          EZGUI allows you to acess the DIB's directly using pointers, so not need to move the data. This makes it easy to write complex image filters.

          EZGUI provides a complete graphics drawing engine (draw lines, shapes, text, icons, imagelists, bitmaps, gradients, polygons, polybeziers, turtle (vector) graphics and even RIch text from a RichEdit control) but also sports its own proprietary Sprite engine.

          Sprites can be defines with a transparent color so the image appears non-rectangular. They can be shown/hidden, moved, flipped and even animated (multi-frames). They can also be anti-aliased and alphablended (a transparent value from 0 to 100%) to the background and each other.

          EZGUI overlays the sprites directly on top of the background when it repaints, but it does not modify the actual background buffers.

          The EZGUI sprite engine is a unique feature not found in any other Visual Designer tool. Of course you can spend a lot on a high end graphics engine, but this comes with EZGUI as part of the package. Its not something you can easily accomplish using the API. Its a proprietary sprite engine and it can run on Windows 95 to Vista and does not require any special hardware nor DirectX or OpenGL.
          Chris Boss
          Computer Workshop
          Developer of "EZGUI"
          http://cwsof.com
          http://twitter.com/EZGUIProGuy

          Comment


          • #6
            Interested in EZGUI's Sprite engine ?

            Download some samples :

            http://cwsof.com/ez4sprites.zip
            Chris Boss
            Computer Workshop
            Developer of "EZGUI"
            http://cwsof.com
            http://twitter.com/EZGUIProGuy

            Comment


            • #7
              Toolbars

              Here is a nice feature which may not be found in some Designers for PB.

              A real ToolBar control Layout dialog:




              You can load toolbar bitmaps (in strip form, where all images are in one bitmap) into the ToolBar property dialog and then display the Toolbar Builder dialog to layout the toolbar. You can set the properties for each button (style, image, text).
              Chris Boss
              Computer Workshop
              Developer of "EZGUI"
              http://cwsof.com
              http://twitter.com/EZGUIProGuy

              Comment


              • #8
                OwnerDraw made Easy

                EZGUI makes ownerdraw easier than ever.

                You can use the Simplified Ownerdraw command set if you want (only requires a few lines to draw control), but the designer can also generate a complete ownerdraw set of routines for advanced ownerdraw where you design it yourself.

                First notice how you can define ownerdraw controls in the designer:
                (this is part of a form in test mode in the designer)



                Above are a Tab control (ownerdraw) (you simply select a color in the controls property dialog) and ownerdraw Listbox, ComboBox and Listview control.

                Now let's see the code the Designer generates foe each:

                Tab control:

                Code:
                SUB FORM2_TAB2_OwnerDraw(BYVAL CID&, BYVAL CVal&, BYVAL FGC&, BYVAL BGC&, BYVAL FntNum&, BYVAL TabText$, BYVAL DFlag&)
                     LOCAL hMyDC&, X2&, Y2&, IsSel&, IsGry&, IsDis&, IsChk&, IsFoc&, IsDef&
                     LOCAL T$,  X1&, Y1&, Item1&, IsEdit&
                     EZ_SaveState
                     IF EZ_StartOwnerDraw(CVal&, hMyDC&, X2&, Y2&, IsSel&, IsGry&, IsDis&, IsChk&, IsFoc&, IsDef&) THEN
                          EZ_GetODItem CVal&, X1&, Y1&, Item1&, IsEdit&
                          IF Item1&>=0 THEN
                               EZ_Color FGC&, BGC&
                               EZ_DCDraw  hMyDC&, %EZ_FILL, X1&, Y1&, X2&, Y2&, 1, 1
                               IF IsEdit&<>0 AND IsFoc&<>0 THEN
                                    EZ_Color 0,0
                                    EZ_DCDraw  hMyDC&, %EZ_RECT, X1&+1, Y1&+1, X2-1&, Y2&-1, 1,0
                               END IF
                               EZ_UseFont FntNum&
                               T$=PARSE$(TabText$, "|", Item1&+1)
                               EZ_Color FGC&, BGC&
                               IF DFlag&=1 THEN
                                    EZ_DCPrintVText hMyDC&, T$, X1&, Y1&, X2&, Y2&, 0
                               ELSEIF DFlag&=2 THEN
                                    EZ_DCPrintVText hMyDC&, T$, X1&, Y1&, X2&, Y2&, 1
                               ELSE
                                    EZ_SetPrintFormat 2, X2&, Y2&, %EZ_Center OR %EZ_VCenter, 0
                                    EZ_DCPrint hMyDC&, X1&,Y1&, T$
                                    EZ_SetPrintFormat 0,0,0,0,0
                               END IF
                          END IF
                          EZ_EndOwnerDraw
                     END IF
                     EZ_RestoreState
                END SUB
                '
                SUB FORM2_TAB2_EraseBG(BYVAL CVal&, BYVAL FGC&, BYVAL BGC&, Cancel&)
                     LOCAL hDC&, X2&, Y2&
                     EZ_SaveState
                     IF EZ_StartEraseBG(CVal&, hDC&, X2&, Y2&) THEN
                          EZ_Color FGC&, BGC&
                          EZ_DCDraw hDC&, %EZ_FILL, 0, 0, X2&, Y2&, 1, 1
                          EZ_EndEraseBG Cancel&
                     END IF
                     EZ_RestoreState
                END SUB
                Listbox control:

                Code:
                SUB FORM2_LISTBOX1_OwnerSize(BYVAL CVal&, BYVAL FntNum&)
                     LOCAL W&, H&, Item1&, Item2&, NW!, NH!
                     IF EZ_StartOwnerSize(CVal&, W&, H&, Item1&, Item2&) THEN
                          EZ_GetTextSize FntNum&, "XXX", NW!, NH!,0
                          H&=INT(NH!*1.25)
                          EZ_EndOwnerSize CVal&, W&, H&
                     END IF
                END SUB
                '
                SUB FORM2_LISTBOX1_OwnerDraw(BYVAL FormName$, BYVAL CID&, BYVAL CVal&, BYVAL FntNum&, BYVAL DFlag&)
                     LOCAL hMyDC&, X2&, Y2&, IsSel&, IsGry&, IsDis&, IsChk&, IsFoc&, IsDef&
                     LOCAL T$,  X1&, Y1&, Item1&, IsEdit&, F&, I&, DTFlag&
                     IF EZ_StartOwnerDraw(CVal&, hMyDC&, X2&, Y2&, IsSel&, IsGry&, IsDis&, IsChk&, IsFoc&, IsDef&) THEN
                          EZ_GetODItem CVal&, X1&, Y1&, Item1&, IsEdit&
                          IF Item1&>=0 THEN
                               EZ_SaveState
                               IF IsSel& THEN
                                    EZ_Color 4,12
                                    EZ_DCDraw  hMyDC&, %EZ_RECT, 0, 0, X2&, Y2&, 2, 1
                                    EZ_Color 0,12
                                    EZ_DCDraw  hMyDC&, %EZ_RECT, 0, 0, X2&, Y2&, 1, 0
                               ELSE
                                    EZ_Color 6,14
                                    EZ_DCDraw  hMyDC&, %EZ_RECT, 0, 0, X2&, Y2&, 2, 1
                                    EZ_Color 0,14
                                    EZ_DCDraw  hMyDC&, %EZ_RECT, 0, 0, X2&, Y2&, 1, 0
                               END IF
                               EZ_UseFont FntNum&
                               EZ_SetPrintFormat 2, X2&, Y2&, %EZ_Center OR %EZ_VCenter, 0
                               T$=EZ_GetItemText (FormName$, CID&, Item1&)
                               IF DFlag&>1 THEN T$=STR$(CVL(T$))
                               IF IsSel& THEN EZ_Color 15,12 ELSE EZ_Color 0,14
                               EZ_DCPrint hMyDC&, X1&,Y1&, T$
                               EZ_SetPrintFormat 0,0,0,0,0
                               EZ_RestoreState
                          END IF
                          EZ_EndOwnerDraw
                     END IF
                END SUB
                Combobox control:

                Code:
                SUB FORM2_COMBOBOX1_OwnerSize(BYVAL CVal&, BYVAL FntNum&)
                     LOCAL W&, H&, Item1&, Item2&, NW!, NH!
                     IF EZ_StartOwnerSize(CVal&, W&, H&, Item1&, Item2&) THEN
                          EZ_GetTextSize FntNum&, "XXX", NW!, NH!,0
                          H&=INT(NH!*1.25)
                          EZ_EndOwnerSize CVal&, W&, H&
                     END IF
                END SUB
                '
                SUB FORM2_COMBOBOX1_OwnerDraw(BYVAL FormName$, BYVAL CID&, BYVAL CVal&, BYVAL FntNum&, BYVAL DFlag&)
                     LOCAL hMyDC&, X2&, Y2&, IsSel&, IsGry&, IsDis&, IsChk&, IsFoc&, IsDef&
                     LOCAL T$,  X1&, Y1&, Item1&, IsEdit&, F&, I&, DTFlag&
                     IF EZ_StartOwnerDraw(CVal&, hMyDC&, X2&, Y2&, IsSel&, IsGry&, IsDis&, IsChk&, IsFoc&, IsDef&) THEN
                          EZ_GetODItem CVal&, X1&, Y1&, Item1&, IsEdit&
                          IF Item1&>=0 THEN
                               EZ_SaveState
                               IF IsSel& THEN
                                    EZ_Color 4,12
                                    EZ_DCDraw  hMyDC&, %EZ_RECT, 0, 0, X2&, Y2&, 2, 1
                                    EZ_Color 0,12
                                    EZ_DCDraw  hMyDC&, %EZ_RECT, 0, 0, X2&, Y2&, 1, 0
                               ELSE
                                    EZ_Color 6,14
                                    EZ_DCDraw  hMyDC&, %EZ_RECT, 0, 0, X2&, Y2&, 2, 1
                                    EZ_Color 0,14
                                    EZ_DCDraw  hMyDC&, %EZ_RECT, 0, 0, X2&, Y2&, 1, 0
                               END IF
                               EZ_UseFont FntNum&
                               EZ_SetPrintFormat 2, X2&, Y2&, %EZ_Center OR %EZ_VCenter, 0
                               T$=EZ_GetItemText (FormName$, CID&, Item1&)
                               IF DFlag&>1 THEN T$=STR$(CVL(T$))
                               IF IsSel& THEN EZ_Color 15,12 ELSE EZ_Color 0,14
                               EZ_DCPrint hMyDC&, X1&,Y1&, T$
                               EZ_SetPrintFormat 0,0,0,0,0
                               EZ_RestoreState
                          END IF
                          EZ_EndOwnerDraw
                     END IF
                END SUB
                Listview control:

                Code:
                SUB FORM2_LISTVIEW1_OwnerSize(BYVAL CVal&, BYVAL FntNum&)
                     LOCAL W&, H&, Item1&, Item2&, NW!, NH!
                     IF EZ_StartOwnerSize(CVal&, W&, H&, Item1&, Item2&) THEN
                          EZ_GetTextSize FntNum&, "XXX", NW!, NH!,0
                          H&=INT(NH!*1.25)
                          EZ_EndOwnerSize CVal&, W&, H&
                     END IF
                END SUB
                '
                SUB FORM2_LISTVIEW1_OwnerDraw(BYVAL FormName$, BYVAL CID&, BYVAL CVal&, BYVAL FntNum&, BYVAL DFlag&)
                     LOCAL hMyDC&, X2&, Y2&, IsSel&, IsGry&, IsDis&, IsChk&, IsFoc&, IsDef&
                     LOCAL X1&, Y1&, Item1&, IsEdit&, SubItem&, SubItem2&, F&
                     LOCAL SX1&, SY1&, SX2&, SY2&, CW&, AW!, AH!, CP$
                     LOCAL T$, IPictNum&, LVProp$ , LC&
                     IF EZ_StartOwnerDraw(CVal&, hMyDC&, X2&, Y2&, IsSel&, IsGry&, IsDis&, IsChk&, IsFoc&, IsDef&) THEN
                          EZ_GetODItem CVal&, X1&, Y1&, Item1&, IsEdit&
                          LC&=EZ_GetLVColCount(FormName$, CID&)
                          CP$=EZ_GetLVColOrder(FormName$, CID&,LC&)
                          IF Item1&>=0 THEN
                               SX1&=0
                               EZ_SaveState
                               FOR SubItem&=0 TO (LC&-1)
                                    CW&=EZ_GetLVColWidth(FormName$, CID&, SubItem&)
                                    SX2&=SX1&+CW&-1
                                    IF IsSel& THEN
                                         EZ_Color 4,12
                                         EZ_DCDraw  hMyDC&, %EZ_RECT, SX1&, 0, SX2&, Y2&, 2, 1
                                         EZ_Color 0,12
                                         EZ_DCDraw  hMyDC&, %EZ_RECT, SX1&, 0, SX2&, Y2&, 1, 0
                                    ELSE
                                         EZ_Color 6,14
                                         EZ_DCDraw  hMyDC&, %EZ_RECT, SX1&, 0, SX2&, Y2&, 2, 1
                                         EZ_Color 0,14
                                         EZ_DCDraw  hMyDC&, %EZ_RECT, SX1&, 0, SX2&, Y2&, 1, 0
                                    END IF
                                    EZ_UseFont FntNum&
                                    EZ_SetPrintFormat 2, SX2&, Y2&, %EZ_Center OR %EZ_VCenter, 0
                                    SubItem2&=VAL(PARSE$(CP$,"|",SubItem&+1))
                                    IF EZ_GetLVItem(FormName$, CID&, T$, IPictNum&, Item1&, SubItem2&, LVProp$ ) THEN
                                    ELSE
                                         T$="OwnerDraw"
                                    END IF
                                    IF IsSel& THEN EZ_Color 15,12 ELSE EZ_Color 0,14
                                    EZ_DCPrint hMyDC&, SX1&,Y1&, T$
                                    EZ_SetPrintFormat 0,0,0,0,0
                                    SX1&=SX2&+1
                               NEXT SubItem&
                               EZ_RestoreState
                          END IF
                          EZ_EndOwnerDraw
                     END IF
                END SUB
                Chris Boss
                Computer Workshop
                Developer of "EZGUI"
                http://cwsof.com
                http://twitter.com/EZGUIProGuy

                Comment


                • #9
                  Sale continues until August 16, 2009.
                  Chris Boss
                  Computer Workshop
                  Developer of "EZGUI"
                  http://cwsof.com
                  http://twitter.com/EZGUIProGuy

                  Comment


                  • #10
                    Sale ends in about 1 1/2 days (August 16, 2009) so act now.
                    Chris Boss
                    Computer Workshop
                    Developer of "EZGUI"
                    http://cwsof.com
                    http://twitter.com/EZGUIProGuy

                    Comment


                    • #11
                      Sale extended until August 23, 2009

                      The sale is now extended until August 23, 2009.

                      This is a great opportunity to get EZGUI 4.0 Professional for a low price and to get inline for future upgrades at lower prices.

                      EZGUI 5.0 Professional is in development and will offer some exciting new features. The goal is to make Version 5.0 quite different than the "rest of the pack" (other Visual Designers for PB). Because EZGUI uses a runtime engine (DLL) rather than generate 100% source code, it allows me to go into directions not easily done with other GUI tools.

                      I do not yet know what the price for EZGUI 5.0 Pro will be, but it is quite possible it will be higher than EZGUI 4.0 Pro (normal retail is $249).

                      By getting EZGUI 4.0 Pro at this low price, you put yourself in a position to get future versions at the lower upgrade price, rather than full retail.

                      EZGUI 4.0 is a Professional development system meant for those who are willing to learn a different way of programming GUI's which offers more choices. Professional programmers who utilize the product to its full potentional are producing amazing front ends for their applications.
                      Last edited by Chris Boss; 17 Aug 2009, 03:36 PM.
                      Chris Boss
                      Computer Workshop
                      Developer of "EZGUI"
                      http://cwsof.com
                      http://twitter.com/EZGUIProGuy

                      Comment


                      • #12
                        Sale continues until August 31, 2009.
                        Chris Boss
                        Computer Workshop
                        Developer of "EZGUI"
                        http://cwsof.com
                        http://twitter.com/EZGUIProGuy

                        Comment

                        Working...
                        X