Wiki Home

Improved Controls


Namespace: VB

Default VFP controls and ActiveX controls contain basic functionality. It could be enough only for beginner developers and for learning VFP. However, as knowledge grows, more and more requirements are made for application interface that require more and more improvements and features in existing VFP controls. Many frameworks already contain a wide set of improved controls. In addition to the improvements, frameworks also provide a solutions to solve existing problems.

Following is a list of the controls and features that I know would be good to see in frameworks, and some that already exist in frameworks:
Framework Control Impovements Comparison Chart
FEATURES CB CM CCB FF MM VFX VFE VMP VPM
Grid Improvements
Sorting by column header click on the fly - - - - Yes Yes Yes Yes No
Interactive search on the sorted column (or any column) - - - - Yes Yes Yes Yes Property Driven (using builders)
Current row highlighting - - - - Yes Yes Yes Yes -
Format grid appearance to show it as a list box * - - - - Yes - - Yes -
use of multi-select and mover bar in it - - - - - - - Multi-Select -
mover class to move items from one list grid to another - Listbox, but not grid - - Yes Yes - Listbox, but not grid Yes
Grid class for use as a drop-down list for combobox - - - - - - - - -
Layout save/restore - - - - - Yes - Yes -
Double click on the header formats column to the size of the data in column - - - - - Yes - - -
Refresh parent container on rowchange - - - - Publisher/Subscriber model Yes Property Driven Yes, for specific form classes -
Requery child cursors/business objects on row change - - - - - Yes Property Driven - Yes, using Related Forms
Option to launch data entry form on row doubleclick - - - - - Yes Yes Yes -
Dynamically retrieve column headings from data dictionary or other data source - - - - - Designtime Grid Builder Yes Yes Yes
Retrieve format/input mask from data dictionary or other data source - - - - - Yes Yes - Yes
Special image control for displaying images in grid - - - - - - - - -
TreeView ActiveX Control
A feature to populate tree from the VFP cursor(s) data/business object - - - - Yes Yes Yes - -
ListView ActiveX Control
A feature to populate from VFP cursor(s) data/business object Yes -
Refresh parent container on rowchange - - - - - - Property Driven - -
Requery child cursors/business objects on row change - - - - - Yes Property Driven - -
Option to launch data entry form on row doubleclick - - - - - Yes Yes - -
TextBox Control
Editing dates and date/time values in a more comfortable way, with calendar/clock controls. Date range control and shortcut menu for quick specifying of date range. - - - - Yes Yes Yes (Quicken Keystrokes) - -
Quickfill/Look Ahead Typing - Yes - - Yes Yes Yes Yes -
Bind to a foreign key but display a descriptive field - - - - Yes Yes Yes Yes Yes, Property or Data Dictionary Driven
Rich Text Box ActiveX Control
Toolbar for Rich Text Box ActiveX control to allow formatting of RTF text. - - - - - Yes - - -
HTML ActiveX Control
Toolbar for HTML ActiveX control to allow formatting of HTML text. - - - - - - - - -
Most controls
Shortcut menu with options to undo or redo changes, copy/paste selection etc. with ability to add custom options if needed. - Yes - - Yes Yes Yes Yes, also custom developer tools and control-specific features Yes, including security
Command Button Control
Fancy feature to highlight button by surrounding it by rectangle when mouse is over the button. (N/A with VFP 7) - - - - - - - - -
Custom-shape buttons, like ellipse button - - - - - - - - -
MSGraph
A wrapper class to allow displaying VFP data in a chart. Tools to use chart in reports and tools for chart formatting. - - - - - Yes - - -
Combobox Control
Special combobox class to bind it to the numeric value in a field by the ID of the items in the list. - - - - - - - - -
Special combobox class to add new items to lookup data or edit existing items by typing the value in combobox when its style is "drop-down combo". - - - - - Yes Yes - -
Quickfill/Look Ahead Typing - Yes - - Yes Yes Yes Yes -
Autopopulate based on list in data dictionary or other non default VFP source - - - - - Yes Yes - Yes
Checkbox Control
Checkbox control with disabling of the box (in default behavior it is always white). In addition, allow checkbox caption positioning to left from the box. - - - - Yes - Yes - -
Checkbox control with 3-state support from the functionality point of view (3 mouse clicks to roll through the values). - - - - - - - - -
Bind checkbox to a memo field, open separate form for editing the memo field with clicked. - - - - - Yes but doubleclick editbox Yes Equivalent feature from a commandbutton class -
Special checkbox control for displaying logical value in a grid. Centered in the grid column. - - - - - - - - -
Special checkbox control with graphical style to work as a button inside of the grid - - - - - - - - -
PageFrame Control
Delayed Instatiation of controls in page 2 and beyond - - - - Yes - but any VFP app can do this? Any VFP app can do anything mentioned here. The point is does the framework actually have a feature to do this automatically or make it easier? Yes Yes Yes -
Combobox/Listbox Control
Better interactive search, interactive search for comboboxes with style "drop-down combo" - - - - Yes - Yes - -
Editbox Control
Expand the edit box to the full/partial size of the form and collapse back - - - - - - - Yes -
Textbox Control
Read-only text box that looks like a label but allows copying of the content into clipboard. - - - - - - - Yes -
Textbox/Editbox Control
Spell checking - - - - - - - - -
OptionGroup Control
Option group based on the data source to display its options - - - - - - - - -
Listbox Control
Listbox with check boxes for each item (checkboxes made as
images in the list box)
- - - - - - Using ActiveX List View - -
Mover class to move items between 2 lists - Yes - - Yes Yes Yes Yes Yes
Label Control
Dynamically retrieve captions from data dictionary or other data source based on associated field - - - - - - Yes - Yes
Hyperlink - Yes - - - Yes Yes - -
Toolbar
Class Libraries of controls that work within a toolbar or form - Yes - - Yes Yes Yes Yes Yes
Autorender form's toolbar (and internal controls) in shortcut menu - - - - Yes - Yes - -
Autorender form's toolbar options in system menu pad (primarily to automatically provide keyboard equivalents via menu hotkeys) - - - - - - - Yes -
Save and restore position & dock position - Yes - - Yes Yes Yes Yes Yes
Forms
Save and restore position - Yes - - Yes Yes Yes Yes Yes
Multiple Instance Support - Yes - - Yes Yes Yes Yes Yes
Support for scrollbars and scalable resizing - - - - - Yes Yes Yes -

Following is a chart for control-specific problems that required solution:
Control Problem Workarounds in Framework -- Comparison Chart
Problem CB CM CCB FF MM VFX VFE 6.3 VMP 5 VPM E 6
Page Frame refresh. Custom class in the page frame class and run-time support for new pages to add this class that controls UIEnable event and refreshes page properly - - - - - - Yes Yes -
Grid reconstruction behavior workaround support - - - - - - - Yes -

Hi Vlad

Maybe you should reformat this chart to be exactly like the main Framework Feature Chart. Your improvement column is really like the feature column. Except that you are putting in lots of text about the improvement and even adding notes elsewhere on the page. I find that confusing. Also, consider making this page a chart listing the controls only. Under each control, have another chart showing improvements of that control. That would make looking at grid specific improvments much easier. You also have a quickfill textbox entry, which is already on the main chart. -- Mike Yearwood

Mike, I do not think there are a lots of text, at least on my 1024x768 display it looks pretty good in the IE. IE re-formats the grid to display it as good as possible. Short description is enough, I guess. Yes, if description is long, it could be made just as a link to another page as in the main page.

The first column intented to group controls by their origin. The idea was that there could be a lot of rows in this table; when I want to find certain feature, say, for toolbar control only, it will take a lot of time to figure out just that toolbar is not in this list. Now I can quickly look to the first column without reading of all short descriptions.

Well, if others vote for re-formatting of this table, I will do this.

Vlad Grynchyshyn

Contributors: Vlad Grynchyshyn, Mike Yearwood, Ray Kirk
See Also: Framework Feature Chart, Framework feature chart comments
Category Frameworks
( Topic last updated: 2005.10.16 07:01:27 PM )