Friday, July 11, 2008

Creating Explorer Interfaces in Visual FoxPro

One of the sessions I'm doing at Southwest Fox 2008 is titled "Creating Explorer Interfaces in Visual FoxPro". Explorer interfaces appear everywhere these days: Windows Explorer, Outlook, iTunes, Stonefield Query, and so on. These interfaces have one thing in common: a list of items at the left, usually shown in a TreeView control, and information about the selected item at the right.

I'm really jazzed about this session. I'm having so much fun creating the samples for it because I get to play with some very cool user interface controls available from VFPX. In addition, I've created some classes that make it very easy to create your own explorer interfaces with minimal code. No more worrying about how TreeViews work, how to get drag and drop working, how to link a TreeView node with a properties pane, and so on.

To whet your appetite for this session and hopefully entice you to attend, I've created a short video (about 9.5 minutes) showing a sample form using an explorer interface and how easy it is to add a new panel to the form. Anyone attending Southwest Fox will get full source code for everything and a white paper describing how it works and how to use it.

(And in case you're wondering, yes, you can expect some of this eye candy to show up in Stonefield Query in a future release.)


Anonymous said...

Hey Doug,

Pretty Cool and impressive in all its simplicity, Looking forward to meet you there.


Andrew MacNeill said...

Interesting video Doug - I'm doing stuff like this in another app but isn't the term "Explorer Interface" usually reserved more for the TreeView/ListView UI design?

Doug Hennig said...

Hi Andrew. I usually think of an explorer as something with a list of things at the left and properties about the selected item at the right.

Anonymous said...

Thanks Doug. I was really hoping to see some new ideas on UI at SW Fox.

Anonymous said...

Not that SouthwestFox needed advertising but this is the best kind! Coupled with the fact that Rick Strahl will have back to back training for WestWind version 5 this is going to be the biggest VFP convention in a long time. Congratulations.


Anonymous said...


I have toyed with the idea of using a treeview control for navigation in my applications. However, the problem has always been the slow nature of loading nodes in the treeview. I assume one of the reason you have cusomter's grouped by letters of the alphabet is to avoid loading the entire customer list at once. Even this is a problem if your customer list is long. You could still have several hundred or more people for a particular letter. The problem gets worse if I wanted to drill down into the customer's history and view their transactions. So what are your thoughts on working around this problem.

Doug Hennig said...

This can definitely be an issue, Simon. Yes, the classes I use do delayed loading, so the child nodes are only loaded when the parent is expanded for the first time. Loading a few hundred records isn't too bad, but loading a few thousand at a particular level can be pretty slow.

An explorer interface isn't for all applications. It works best when the data is hierarchical in nature and the number of records under a particular branch is reasonable.

Kurtwood Greene said...

Inspired! I am making plans to attend.

The Bahamas