Hi to all, when I saw Emerson Reed Outlook Class I love it at the first time, so I tried to create my small contribussion to this community that has give me a lot.
That is how this class was born, I'm taking some ideas from the Emerson source, and other that came to my mind while I was working. The class it's free, and it's really easy to use:
Take a look at this code:
Public oPopup As Object
Set Classlib To popup Additive
oPopup=NewObject("popup","menus")
With oPopup
.AddPad("New","FileNew.Bmp","New File","Modify Command Temp")
.AddPad("Open","FileOpen.Bmp","Open File","Getfile()")
.AddPad("Save As...","FileSave.Bmp","Save File","PutFile()")
.Addpad("\-") &&Separator
.AddPad("First","NavigateFirst.bmp","Navigates to First Record","Messagebox('You Selected First Previous')")
.AddPad("Previous","NavigatePrevious.bmp","Navigates to Previous Record","Messagebox('You Selected Navigate Previous')")
.AddPad("Next","NavigateNext.bmp","Navigates to Next Record","Messagebox('You Selected Navigate Next')")
.AddPad("Last","NavigateLast.bmp","Navigates to Last Record","Messagebox('You Selected Last Next')")
.Addpad("\-") &&Separator
.AddPad("Disabled Item and without Picture","","Selects all data in the Current Control","Messagebox('Disabled')",".F.")
.AddPad("Last Popup Item","","Selects all data in the Current Control","Messagebox('Last Popup Item')")
.Show()
EndWith
This will create a popup like this image:

The class will detect in an automatic way the 3 standard themes of XP.
Olive
Silver
The AddPad method will receive this parameters:
lcCaption As String
Caption of the Menupad
lcPicture As String
Picture to use in the Menupad
lcMessage As String
Message to display in Statusbar when selected or mouse over it.
lcCommand As String
Command to run when the user clicl on the pad
lcSkipFor As String
Expresion that must evaluate to boolean to enable or disable a menupad.
Future Features that I wish to add:
1. Enable to handle Sub Popups.
2. Create a MenuBar
3. Create a Builder
4. Ability to define shortcuts and support for hotkeys
5. Support to any Windows XP Theme.
6. Create a toolbar base class to be partner of the menubar
7. Fix all the bugs it may have.
If anyone of you is interested in make it better, feel free to do it, I'm sure a lot of people will come with better ideas than this. Just let me know any update and please share it with all VFP developers.
I hope you like
Take care
Luis Navas