- Accept "new menu bar" and "new menu item" commands.
- Automatically adapt menu bar when form colors are changed.
- Automatically adapt menu bar when form font is changed.
- Fix font height for _FONT 8 and _FONT 16.
- Control names can now have only up to 40 characters to prepare for "Control.Property" syntax.
- Default font set to SegoeUI (editor and preview).
- Improved design mode context menu (Distribute Vertically/Horizontally).
- When designated .TTF font can't be found, new default is _FONT 8.
- Improved ControlName search to avoid duplicated names (__UI_NewControl).
- Trim controls' captions if CHR$(0) is found.
- Segoe UI is now used as default font for new forms.
- Fix: preview window now properly reloads if inadvertenly closed.
- Internal contextual menus are not saved any longer.
- Design mode now has a contextual menu for alignment and clipboard operations.
- Fix: Menu bar items can't be invoked by hovering if a context menu is active.
- Selection rectangle for Design Mode.
- New Event: __UI_BeforeInit
- Fix: Crash after last control is deleted in Design Mode - limits the use of hardware images.
- Single line textboxes can now use non-fixedwidth fonts.
- ESC unselects all controls (design mode)
- Pasting the same control over and over positions the new instance in a different spot.
- New controls are created after all controls in the array; empty slots will occur, but it fixes incorrect creation of new controls.
- New listbox method: __UI_GetListBoxItem$
- Fix: selecting a listbox item by typing its name now properly triggers __UI_ValueChanged event.
- Adds padding (left/right) to labels.
- Adds multiline support for textboxes.
- Improves wordwrapping for labels - bypasses the function if the same text passed has already been processed for the same width and _font conditions.
- Restores internal textfield contextual menu.
- Textfield contextual menu limits options based on clipboard/selection status.
- Creates a new helpercanvas automatically upon creating a new picturebox control.
- New ReplaceText function which enables \n for adding items to a listbox at design time.
UiEditor.bas:
- Indicator on textbox shows if current input value has been accepted by the Preview renderer.
- Improves saving of nested controls.
- New "icon" property for the main form.
UiEditorPreview.bas:
- Loads the icon specified in the editor and shows it in real time (.ico files encoded as bmps and pngs accepted).
- Fix the bug the didn't allow controls placed in frames to be selectable when they had been created before the frame.
- Add "\#" automatically to ProgressBar's caption, so Show Percentage will work.
- Allow preview to be detached from the editor window.
- Checked items in menus.
- Show message while compiling the Preview component.
- New controls are placed inside the selected frame.
- Fixed selecting text when textbox is inside a frame.
- Fix detection of Preview window and the relaunch routine.
- Make frames always be redrawn in DesignMode.
- Context menu for textboxes will be embeded automatically, though the user may replace it with a custom control.
- Fix MessageBox incorrectly mixing title and message.
- MessageBox uses main form's title if no title is provided.
- New event __UI_ValueChanged.
- Focus outline (dotted line around control) is only shown if keyboard input is received.
- Adds NotoMono-Regular.ttf (licensed under the SIL Open Font License)
- Fix save routine to properly save the .Stretch property of controls.
- Fine adjustments to ProgressBar drawing.
- Find adjustments to ListBox/Scrollbar drawing.
Create a new button and it'll be automatically named Button1. Also:
- All existing controls are properly destroyed when loading a saved form.
- Fix hovering to select that stopped working for dropdown lists.
- List or Dropdown list controls have their __UI_Caption set based on the selected item, if any.
- Fix focus outline (dotted line indicator) when _FONT 16 is used.
- Adds a microdelay before showing a MessageBox so the interface can be properly redrawn.
- Fixes __UI_NewControl so that no control can be created without a name or type indication.
- Destroy menu panels before activating menu items, so that the event will be fired only after menu is closed.
- Fix save form routine so that no temporary menu panels are saved.
Can be used to display a picture on a form. Also:
- Theme images can now be embeded in the code, removing the need for external image files (check the icon that shows when the image assigned to the picture box cannot be found).
- Menu items now respond properly to hotkeys.
- Improved menu hover behavior.
- More parameters can be passed to __UI_NewControl (Top, Left)
Every menu item is a control in __UI_Controls. Needs visual polishing. Functionality is implemented (except keyboard). Also:
- New TIMER approach for DoEvents.
- Menus are now accessible using Alt.
- More default settings are automatically defined upon control creation.
- Dropdown now lists have hover to select behavior.
- Alt+ASCII CODE inserts extended characters.
- Font set for the main form is inherited by new controls.
- All control images are now converted to hardware images.
- Replaced "Enabled" with "Disabled" for control properties (new control properties always default to __UI_False)
- Removed calls to _MOUSESHOW in Linux, for increased stability.
- Exposes MessageBox from libqb.cpp (QB64's internal declaration/implementation; uses Windows API or an emulated alternative under Linux/macOS)
- Scrollbar accepts clicks on the "track".
- Adds a __UI_DoEvents routine that is triggered in the main loop and can also be added to user loops, in order to allow events to keep being triggered.
- Visuall indicates that something is hogging the input routine (when programmer has a DO: LOOP and forgets the add __UI_DoEvents)
- ListBoxes can be searched by typing item names.