|
Features and Fixes
February 8, 2007
Overview |
The ComboBox has been overhauled to fix many long standing bugs
and to make it simpler and easier to enhance in the future. |
QAID: 561 |
Added new ComboBox events, beforeDropDown and beforeCloseUp.
-
beforeDropDown() - Fires just before dropdown list opens for a style 1 or 2 ComboBox
-
beforeCloseUp() - Fires just before dropdown list is closed for a style 1 or 2 ComboBox
|
QAID: 6183 |
Added new ComboBox events: onChangeCommitted(), onChangeCancel(), beforeEditPaint(), and onEditPaint()
-
onChangeCommitted() - Fires when the user takes an action indicating
that they are choosing a value for the ComboBox. onChangeCommitted
will fire in the following cases:
-
Left click on an item in the listbox (all styles) when the item is
different from the current ComboBox value.
-
Press Enter with an item highlighted in the dropdown list (style 1 or 2)
when the item is different from the current ComboBox value.
-
For style 0 or for style 1 or 2, with dropdown list closed, press
the Up Arrow, Down Arrow, PgUp, or PgDn keys.
-
Left click on the ComboBox button for a style 1 or 2 ComboBox
when the dropdown list is open and the highlighted item in the
dropdown list is different from the current ComboBox value.
-
onChangeCommitted() fires only after the ComboBox's value property
has been updated with the selected value.
-
onChangeCommitted() will not fire for a style 1 or 2 ComboBox when the dropdown list
is open and the Up Arrow, Down Arrow, PgUp, or PgDn keys are pressed.
-
onChangeCancel() - Fires if the user takes an action that closes the
dropdown list without actually choosing an item. For example, clicking on the form surface or on another
component or some other window entirely.
onChangeCancel() can be used to implement logic to change the ComboBox value
back to some other value, perhaps the value it had just before the dropdown opened.
-
beforeEditPaint() - In a style 0 or 1 ComboBox - fires for each keystroke that modifies
the value of a ComboBox. beforeEditPaint() fires just before displaying the new value
for a ComboBox. It does not fire if the keystroke does not modify the ComboBox.
-
onEditPaint() - In a style 0 or 1 ComboBox - fires for each keystroke that modifies
the value of a ComboBox. onEditPaint() fires just after displaying the new value
for a ComboBox. It does not fire if the keystroke does not modify the ComboBox.
|
QAID: 2362 |
Upgraded the Notebook to paint the area to the right of its tabs to match the background
of its parent container when the Notebook's borderStyle is set to 0 - Default or 3 - None. |
QAID: 4784 |
Added a new setting that allows for the Project logo on the left side of
the Project Explorer window to be hidden based on the user's preference. In the
process, a new drop down Properties menu was added to the Project Explorer's
main menu bar. This menu allows you to access a new form to adjust the
visibility of the logo. It also lets you access the Desktop properties,
just like other components of dBASE Plus.
|
QAID: 6171 |
Fixed handling of navigation keys when a ColumnComboBox has its dropdown list open within a grid.
Previously, pressing Up Arrow, Down Arrow, PgUp, or PgDn would cause the dropdown list to close.
Now, pressing these keys allows the user to navigate within the dropdown list. When dropdown list
is closed, these keys are used by the grid to navigate from cell to cell or page to page.
|
QAID: 6184 |
Fixed ColumnComboBox so that it correctly converts a non-default setting for dropDownHeight to
the current form metric. Without this fix, a non-default dropDownHeight would be converted assuming
it was specified in Chars even when the form's metric was set to another unit (such as pixels).
This led to the actual dropDownHeight being set to an incorrect size (usually much larger than it should be).
|
Summary |
Major re-architecting of the ComboBox to fix many long standing problems. Here is a summary of the fixes.
(The specific QAID's follow):
-
Middle and Right double click events now work for the ComboBox except as noted below.**
-
All mouse down, up, and dblclick events now fire on listbox part of ComboBox except as noted below.
Previously, they did not fire at all on the listbox.
-
colorHighlight now works properly for a style 2 ComboBox.
-
dropDownHeight now works properly when XP Visual Styles are enabled.
-
onChange() event now fires whenever the ComboBox value is updated by user action from the list
of available items (the items assigned via the dataSource property). The onChange() event will
also fire when the ComboBox loses focus after the ComboBox value was changed by the user editing the value.***
-
autoDrop now works reliably for style 1 and style 2 ComboBoxes.
-
Dropdown list will no longer open, close and open when first clicking on the ComboBox.
-
Dropdown list will no longer bounce or flash when opening in various situations.
-
The default Windows XP context menu will no longer open when right clicking on a ComboBox.
-
When on a subform, ComboBox mouse and focus events will no longer fire multiple times in most situations.
-
With the ComboBox dropdown list open, clicking off of the dropdown will now close the dropdown list
and forward the mouse event to whatever was clicked on.
-
When typing into a ComboBox, Window's WM_KEYDOWN and WM_CHAR messages that are not handled by the ComboBox
are now passed on to other message hooks (if any). This makes ComboBox controls more compatible with
Windows Accessibility tools and with other software that uses message hook routines.
-
Scrollbar controls no longer interfere with ComboBox message processing. Previously, messages checked
by the scrollbar control were not always passed on to the ComboBox and other handlers that might need them.
-
When dropdown list is open, using the dropdown list scrollbar or pressing PgUp, and PgDn can be used
to navigate the list. Previously, the dropdown would close when attempting to use these navigation options.
** Note that for a style 2 ComboBox, onLeftDblClick() does not fire due to the left mouse down event
being used to trigger opening or closing of the dropdown list or choosing an item from the dropdown list.
*** Note that onChange() will not fire due to a programmatic change to the value property.
If you need onChange() to fire in this situation you can call the onChange event handler directly.
|
QAID: 190 |
For a ComboBox with Style=2, typing a character from the keyboard, when the list is down,
caused the list to close. With the list closed, pressing the up or down arrow keys caused
the list to briefly be displayed and then quickly closed.
|
QAID: 336 |
Fixed ComboBox so that it releases mouse capture and input focus when the drop down list is open
and the user presses the left mouse button off of the drop down list, such as on the form surface
or on another component, window or form. In addition, the left mouse down event is now forwarded
to the window that was clicked on.
|
QAID: 338 |
Fixed ComboBox so that the onChange() event fires after using the up/down arrow to change the selection.
Also fixed setting of modified flag so that it is set to True when using the up/down arrow keys.
|
QAID: 2099 |
Fixed a problem where for a ComboBox style 1 or style 2 with autoDrop=true, the list would drop down
and then close, instead of staying open. Also fixed several issues listed for ComboBox.style=2 as follows:
-
Fixed an extra open and close of the list after selecting an item.
-
Fixed re-display of the list that occurred when using an up or down arrow key to navigate the list.
-
Tabbing to the ComboBox now consistently opens the list.
|
QAID: 2341 |
Fixed ComboBox so that onLeftMouseDown and onLeftMouseUp events now fire consistently.
|
QAID: 3496 |
Fixed crash that occurred when setting ComboBox datasource to an array
containing strings with more than 256 characters.
|
QAID: 4659 |
Fixed firing of ComboBox double click events.
|
QAID: 4243 |
Fixed ComboBox so an inappropriate and unsupported Windows XP context menu no longer displays
when a user right clicks on a ComboBox.
|
QAID: 4802 |
Fixed a problem for a ComboBox using style=0 (Simple), where the onLostFocus event fired incorrectly
when the ComboBox got focus in addition to the correct firing when focus is lost.
|
QAID: 6183 |
Modified event onChange() so it fires for every change to the ComboBox value. When the user edits a
ComboBox value (style 0 or 1), onChange() will fire when focus leaves the ComboBox. The onChange() event
will not fire when ComboBox.value is changed programmatically.
|
QAID: 6172 |
Fixed a problem where onKey() fired twice for a ComboBox with style 2.
|
QAID: 6174 |
Fixed a problem where for a ComboBox with style 0 or style 1, the onKey event did not fire when
tabbing off of the ComboBox.
|
QAID: 6145 |
Fixed more cases where the ComboBox onChange event fired when it should not fire:
-
Fired after losing focus when the current item is chosen twice.
-
Open the ComboBox dropdown list
-
Select the same item as currently selected
-
Tab to exit the ComboBox
-
The onChange event should not fire for this case
-
Fired when the current item is chosen twice. This problem only occurred the first time the ComboBox was selected.
-
Open the ComboBox dropdown list
-
Click the mouse to select the same item as currently selected
-
The onChange event should not fire for this case
-
Fired twice when the F4 key and Up/Down arrows were used for selection.
-
Move focus to a ComboBox
-
Press the F4 function key to open the ComboBox dropdown list
-
Use the Up/Down arrow keys to change the selected item
-
Press the Enter key
-
The onChange event should fire only once for this case
|
QAID: 6150 |
Prevented firing of an extraneous onLeftMouseUp event when a ComboBox loses focus.
This event was firing even when focus was changed by pressing the tab key.
|
QAID: 6177 |
Fixed behavior of ComboBox.dropDownHeight when using XP Style ComboBox, such as when running
dBASE with a manifest file that specifies use of the version 6 comctl32.dll.
|
QAID: 6166 |
Fixed double firing of ComboBox onGotFocus event when opening a form or a subform where a style 0 or 1 ComboBox
is the first control to receive focus. Partially fixed triple firing of ComboBox onGotFocus event when opening
a subform where a style 0 or 1 ComboBox is the first control to receive focus. Reduced the firings of onGotFocus
from 3 times to 2 times. Fixed extraneous firing of same ComboBox's onGotFocus when clicking on surface of subform.
|
QAID: 6169 |
Fixed use of colorHighlight for style 2 ComboBox so that the main part of the
ComboBox is painted using the colorHighlight colors when the ComboBox has focus
and painted in colorNormal colors when the ComboBox loses focus.
|
QAID: 6167 |
Fixed firing of extraneous onGotFocus() event for a Style 0 or 1 ComboBox when the ComboBox has focus
and the user clicks on the form surface.
|
QAID: 6168 |
Fixed firing of ComboBox.onGotFocus when resizing a form when ComboBox is style 0 or 1.
|
QAID: 5692 |
Improved how dQuery manages the _app.detailNavigationOverride setting.
dQuery will now save its setting during dQuery startup and restore the saved setting
when dQuery closes and when dQuery loses focus.
|
QAID: 6098 |
Fixed an error in the Print Wizard caused by a misspelled variable.
|
QAID: 6154 |
Fixed an error within a catch statement in the Export Wizard caused by a typo in a classname.
|
QAID: 6132 |
Fixed a problem in the Editor class that prevented firing of the following events:
onMiddleDown(), onMiddleUp(), OnMiddleDblClick().
|
QAID: 6108 |
Fixed a regression in dBASE runtime that could cause an infinite loop when an error occurred
and the user pressed the Cancel button in an error dialog.
|
QAID: 5474 |
Fixed repainting of controls in a container on a notebook after a modal form has overlayed them and then closed.
|
QAID: 6137 |
Fixed a regression that prevented firing of onMouseUp events after firing an onDblClick() event.
With this change, double clicking a mouse button will now generate the following sequence of events:
onMouseDown, onMouseUp, onMouseDblClick, onMouseUp. This sequence matches the native Windows
double-click sequence. Before this change, the last onMouseUp event was not firing.
|
QAID: 3397 |
Fixed a regression that was preventing a form's onLeftDblClick, onRightDblClick, and onMiddleDblClick events
from firing. Before this fix: onLeftDblClick would not fire unless an onLeftMouseUp event was defined.
onRightDblClick would not fire unless an onRightMouseUp event was defined. onMiddleDblClick would not fire
unless an onMiddleMouseUp event was defined.
|
QAID: 6078 |
Fixed an Internal Error that occurred when opening a form containing three datamodules into
the Form Designer and then clicking on the Form's Close button.
|
QAID: 6085 |
Fixed GPF that occurred when closing a form with a grid containing a ColumnSpinBox
and an onLostFocus event. When a cell in the column containing the ColumnSpinBox control
had focus, closing the form caused the following error, which was followed by a GPF:
Error: editorControl_onLostFocus does not exist. This is a regression caused by the changes
for QAID:0593 in build 1884.
|
QAID: 6136 |
Fixed a regression in nextObj that could cause a lockup in the Form Designer.
|
QAID: 6080 |
Fixed updating of the vertical scrollbar in a grid when the grid is datalinked to a child rowset
and the parent rowset is positioned to a different row.
|
QAID: 6100 |
Found and fixed a problem where an internal pointer could sometimes become invalid while painting
the grid during processing of a down arrow event. This prevents possible memory access violations.
|
QAID: 6159 |
Fixed a problem that caused a grid's window to disappear when the grid's rowset was closed
during a requery() of the rowset's parent query object.
|
QAID: 6136 |
Fixed a Memory Access Violation that occurred when attempting to iterate through a rowset that
is datalinked to a grid on a form that has not yet been opened.
|
QAID: 722 |
Fixed updating of a transparent control's background when its position (left or top) is changed
and the control is on a form with a bitmap background, or on an XP Style Notebook.
|
QAID: 5605 |
Fixed a problem that caused text on a Rectangle on a Notebook to become truncated
when the Notebook's fontbold property was set to true.
|
QAID: 6007 |
On an XP Style Notebook that has arrow buttons (in the upper right corner) to scroll through the tabs,
fixed the problem that caused controls positioned below the arrow buttons to be clipped.
|
QAID: 6013 |
Fixed a problem that caused the background color of a Radiobutton on an XP Style Notebook
to be overridden by the Notebook's background color.
|
QAID: 6087 |
Fixed a flicker that occurred for the text of an XP Style Rectangle when the mouse moved over it.
|
QAID: 6147 |
Fixed a problem where a vertical or horizontal scrollbar on a form could interfere with
the mouse events for ComboBox components on the same form.
|
Summary |
Updated Project Explorer to build pe1028, which includes the new ability to hide the
Project Explorer logo graphic at the left of the form, as well as support for
Inno Script Generator, which replaces ScriptMaker as the supporting tool for
creating Inno installers. More details are included below.
|
Details |
Changed Project Explorer to support Inno Script Generator instead of ScriptMaker.
Added a new menu item, Build->Compile script and execute, to directly
compile the Inno script and run the compiled setup.exe.
Fixed a Run menu text error for non-English dBASE languages.
Fixed a problem that occurred when creating a new project, where an error dialog
displayed if the Windows X button is used to close the project after only entering a project name.
Changed Inno [Code] lines output to support Runtime Uninstall call, and
to add a function call for the dBASE Runtime Engine.
Added support for new Inno languages, Danish and Polish.
Added new fields (ComboBox and entryfield (ComboBox-Result) on
the bottom of the Inno Default Tab at bottom ) to include Inno [Languages] section entries
only for languages chosen by the user and not always all (Default _app.Language).
Also added text and Speedtips to the DTF (language translation) files for these new fields.
|
|
|
|
|