Add the following files to your project:

 

Before use any ThemedControl:

ThemesManager and BindWindowsEventsProxy objects used to handle themes are created automatically, but you need to destroy them and remove all API libraries from memory before finish your application.

* Destroy ThemesManager object
If Vartype(_Screen.ThemesManager)=="O"
   _Screen.RemoveObject("ThemesManager")
Endif

* Destroy BindWindowsEventsProxy object
If Type("_vfp.BindWindowsEventsProxy")<>"U"
_vfp.BindWindowsEventsProxy = Null
Endif

* Remove all API libraries from memory

Set Library To

 

To use Button:

  1. Add a ThemedButton object from ThemedControls.vcx to your form;
  2. Double click CustomBuilder property in Properties Window to show the Builder;
  3. Fill the properties and click in Save and Exit button;
  4. Use Click method to handle the button click.

 

To use ExplorerBar:

  1. Add a ThemedExplorerGroup object from ThemedControls.vcx to your form;
  2. Double click CustomBuilder property in Properties Window to show the Builder;
  3. Fill the properties and click in Save and Exit button;
  4. Click with right mouse button in ThemedExplorerGroup and choose Edit from shortcut menu to edit the control;
  5. Click with right mouse button in cntUserControls and choose Edit from shortcut menu to edit the control;
  6. Place any control that you want inside cntUserControls;
  7. Repeat steps from 1 to 6 to create how much groups you want;
  8. Add a ThemedExplorerBar object from ThemedControls.vcx to your form;
  9. Select all ThemedExplorerGroups you created and press CTRL + X in your keyboard;
  10. Click with right mouse button in ThemedExplorerBar and choose Edit from shortcut menu to edit the control;
  11. Press CTRL + V in your keyboard to move all ThemedExplorerGroups inside ThemedExplorerBar.

Or

  1. Add a ThemedExplorerBar object from ThemedControls.vcx to your form;
  2. Double click CustomBuilder property in Properties Window to show the Builder;
  3. Fill the properties and click in Add this group to the bar button;
  4. Repeat step 3 to create how much groups you want;
  5. Click with right mouse button in ThemedExplorerBar and choose Edit from shortcut menu to edit the control;
  6. Click with right mouse button in ThemedExplorerGroup and choose Edit from shortcut menu to edit the control;
  7. Click with right mouse button in cntUserControls and choose Edit from shortcut menu to edit the control;
  8. Place any control that you want inside cntUserControls;
  9. Repeat steps from 6 to 8 for each group you created.

 

To use OutlookNavBar:

  1. Add a ThemedOutlookNavBar object from ThemedControls.vcx to your form;
  2. Click with right mouse button in ThemedOutlookNavbar and choose Edit from shortcut menu to edit the control;
  3. Click in the empty control area to select the Panes pagreframe object;
  4. Set the PageCount property to the number of buttons that you want to display;
  5. In the Properties Window, activate each page and set Caption, HotKey, Picture16 and Picture24 properties;
  6. Add the controls you want to display in each page (you can add any control: TreeView, TextBox, CommandButton, ...);
  7. Use ButtonClicked method to handle the correspondent button click. This method receive 3 parameters about the button clicked: lnNumber, lcCaption and lcPicture24.

*** Note that at run time, the control will create a button for each page and will use Caption, HotKey, Picture16 and Picture24 page properties as the source of caption and picture button properties. ***

 

To use ToolBox:

  1. Add a ThemedToolBox object from ThemedControls.vcx to your form;
  2. Click with right mouse button in ThemedToolBox and choose Edit from shortcut menu to edit the control;
  3. Click in the empty control area to select the Panes pagreframe object;
  4. Set the PageCount property to the number of titles that you want to display;
  5. In the Properties Window, activate each page and set Caption property;
  6. Add the controls you want to display in each page (you can add any control: TreeView, TextBox, CommandButton, ...);
  7. Use TitleClicked method to handle the correspondent title click. This method receive a parameter named lcTitle containing the name of title clicked.

*** Note that at run time, the control will create a title for each page and will use Caption page property as the source of caption title property. ***

 

To use ZoomNavBar:

  1. Add a ThemedZoomNavBar object from ThemedControls.vcx to your form;
  2. In the Init method, place the code to add the buttons that you want to display:

    DoDefault()
    With This
       .AddButton("Printers","Manage your printers.","Printer96.png")
       .AddButton("Display","Change the display settings.","Monitor96.png")
       .AddButton("Explorer","Show computer's files and folders.","Folder96.png")
       *
       .AddButton("Separator")
       *
       .AddButton("ControlPanel","Change your OS settings.","ControlPanel96.png")
       .AddStackButton("ControlPanel","Button1","Add/Remove programs","Software32.png")
       .AddStackButton("ControlPanel","Button2","Hardware settings","Hardware32.png")
       .AddStackButton("ControlPanel","Button3","Network settings","Network32.png")
    Endwith
  3. Use AddButton method to add a button and AddStackButton to add an option to a button menu.
    Sintax:
    AddButton( cButtonName, cToolTip, cImagePathAndName )
    AddStackButton( cParentButtonName, cButtonName, cToolTip, cImagePathAndName )
  4. Use ButtonClicked and StackButtonClicked to handle the correspondent button click:
    Lparameters lcName
    Do Case
       Case lcName=="Printers"
          apiShellExecute(0, "Open", "Control.exe", "Printers", "", 1)
       Case lcName=="Display"
          apiShellExecute(0, "Open", "Control.exe", "Desk.cpl", "", 1)
       Case lcName=="Explorer"
          apiShellExecute(0, "Explore", "", "", "", 1)
       Otherwise
          Messagebox("Button '"+lcName+"' was clicked!")
    Endcase

 

If you have questions, suggestions or want to report bugs, feel free to contact me.

 

Emerson Santon Reed
emerson_reed@hotmail.com