PBToolboxAI AcheterBuyKaufenAcquistaComprarComprar

← Historique de tous les composants← History of every component← Versionsverlauf aller Komponenten← Cronologia di tutti i componenti← Historial de todos los componentes← Histórico de todos os componentes

L'historique des versions est publié en anglais.Version history is published in English.Der Versionsverlauf wird auf Englisch veröffentlicht.La cronologia delle versioni è pubblicata in inglese.El historial de versiones se publica en inglés.O histórico de versões é publicado em inglês.

Ribbon — version history

u_pbt_ribbon · Introduced in 1.0

The Office-style ribbon: tabs, groups, buttons, menus, galleries, quick access toolbar, application menu, contextual tabs and key tips. Introduced in 1.0.

4.0 — October 2026 #

New #

  • Removals under a control, without recreating it: of_remove_menu_item, of_clear_menu, of_remove_combo_item, of_clear_combo, of_remove_gallery_item, of_remove_app_menu_item, of_remove_contextual_group — a "Recent files" list is updated in place.
  • of_app_menu_item(address): the handle of an application menu entry (is_label, is_image, ib_enabled, ib_checked, ib_visible).
  • Cascading menus of any depth (of_add_menu_item, of_add_menu_check), each level driven through of_menu_item(address); of_add_menu_separator and of_add_app_menu_separator accept the address of an entry: the line goes into its cascade.
  • Multi-letter key tips (is_keytip = "FP"), typed one after the other (Backspace goes back one letter); the letter of a control in a collapsed group opens that group's panel.
  • of_open("tab/group") opens the panel of a collapsed group; Down on a drop-down or split button opens its menu.
  • Item colors (il_back_color…) and is_tooltip of a tab or a group are applied (a group's tooltip is shown on its title).
  • These finally read back the displayed value: a quick access toolbar handle, il_color of a color picker, ii_visible_items, is_keytip of a tab, il_color of a contextual group, of_count() of a gallery.
  • Accessible names for the quick access toolbar buttons and the gallery tiles.
  • A custom accent also repaints the checked buttons, the hover and the selections of the ribbon; contrasts reviewed in every theme.
  • [symbol=name] tag in rich text: eighteen monochrome glyphs that follow the text colour (clock, location, person, calendar, phone, mail, warning…); an unknown name stays as text.
  • Every native menu of the component (like every native menu of the library) lets the user type the first letters of an entry to jump to it, read through the keyboard layout; a menu with more than 500 entries only draws what is visible.
  • is_image of a control (button, split, dropdown, check, colour picker, Quick Access Toolbar button) can be changed at any time and read back.
  • id_min, id_max and id_step of a spinner can be changed at any time and read back; the value is brought back into the new range (without ue_value_changed, like id_value).

Fixed #

  • In the panel of a collapsed group: a button raises ue_clicked(address) (it was ue_menu_selected("", false)), a menu entry returns its full address, a disabled control no longer responds and a hidden entry no longer appears; a reduced large split button keeps its two parts (the command and the arrow).
  • An open menu stays open when the application updates the ribbon (another control hidden, a tab renamed, a tile added), and the choice made in it is reported.
  • Picking in the list of a combo box raises a single ue_combo_changed, with the choice (the text typed before used to overwrite it); the field shows the choice at once.
  • Enter and Esc typed in the ribbon (combo box, spin box, focused button) no longer go to the window's default or cancel button; Esc in a field restores the text from before typing.
  • Key tips: a hidden control no longer steals the letter of a visible one; a letter on a disabled control, with the ribbon minimized, closes the ribbon without running anything; the arrows skip disabled controls.
  • With two ribbons in the same window, Alt goes to the one closest to the focus.
  • A menu entry that carries the key of its control raises ue_menu_selected, no longer ue_clicked; of_menu_item(address) targets the entry the address names, even when a cascade carries the same key; of_ctx_group(k).il_color colors the banner and no longer a tab with the same name.
  • as_from_keys of ue_gallery_selection_changed is "" when no tile was selected; a spin box with a decimal step displays 0.3 and not 0.30000000000000004.
  • of_remove_item removes a button of the quick access toolbar; of_clear() raises ue_selection_changed("") when a tab was active.
  • n_pbt_menu2ribbon writes code that compiles with the current API: adds by address, submenus of any depth, disabled and checked items carried over, a router for ue_clicked, ue_toggled and ue_menu_selected; a stock image (Save!) is left empty with a comment, a top-level item without a submenu becomes a one-button group.
  • In right-to-left reading, native menus hang from the right edge of their title and cascades open to the left (Left opens, Right closes).
  • Rich text: a closing tag closes its own tag only ([b]A[i]B[/b]C leaves C in italics only), a ] escaped by of_escape_markup right after a tag no longer breaks the formatting around it, and [picture=…] accepts a data URI and a file name containing a comma.
  • Reading back il_back_color_hover or il_text_color_hover of an item never coloured returns -1 (the theme's colour), like the other item colours (it returned 0, black).
  • A decimal property (id_…) is written and read back correctly whatever the machine's decimal separator.
  • Enter or Esc pressed in the component, when it does not use them, goes back to the window: the PowerBuilder Default or Cancel CommandButton fires (the key was lost).
  • A disabled component (ib_enabled = false) leaves the Tab order; enabled again (or after of_reset), it takes its place back.
  • A language set by PBT_SetLanguage applies from the very next order given to the component: a text of an event raised by that order no longer comes in the old language.
  • With no language chosen by the application, the component announces English to screen readers (it announced French).
  • is_theme_style, is_theme_mode and il_theme_accent read back the style and mode shown and the component's own accent (-1 when it has none); an unknown or badly written value is ignored instead of leaving the component without a theme, and an axis left empty follows the application's theme.
  • Typing a character with AltGr in a PowerBuilder field (the euro of a French keyboard, AltGr+E) no longer fires a Ctrl+Alt shortcut of that key, and AltGr pressed alone no longer hands the keyboard to the bar as Alt does.

Behavior changes #

See the "Migrating from 3.0 to 4.0" guide, sections 11.1 to 11.5 and 11.16.

  • ib_veto_gallery defaults to false: if you scripted ue_gallery_selection_changing, set ib_veto_gallery = true.
  • An order of your code raises the same event as the gesture: of_select_tab raises ue_selection_changed, ib_minimized raises ue_minimized, of_select_gallery_item raises ue_gallery_selection_changed — and, with the question turned on, asks ue_gallery_selection_changing too and returns -4 on a refusal. Nothing is raised when nothing changes.
  • The add methods return -5 for a key already taken, a key that contains | or starts with __, an unknown parent or a parent of another kind, and -2 when the component is not created; of_select_tab (unknown or hidden tab), of_remove_*, of_select_gallery_item on an unknown address and of_open on a quick access button return -5.
  • A removal or of_clear frees the handles of what goes away (IsValid() returns false): ask for them again with of_tab, of_group, of_item, of_menu_item.
  • Rewriting is_app_button renames the button without emptying its menu; is_app_button = "" removes the button and its menu (without a label, the caption follows the language).
  • The key of a combo box choice is its label: of_keys_at returns "home/font/cb/Arial".
  • The keys produced by n_pbt_menu2ribbon are the ClassName of each menu item (m_file/g1/m_open).
  • of_count returns a long and of_keys_at takes a long rank.
  • Rich text: a markup image on a network share ([picture=\\server\share\x.png]) is no longer shown: go through of_icon(), which embeds it.

3.0 — September 2026 #

New #

  • The mouse wheel over the ribbon moves from one tab to the next, as in Office (without wrapping around; a combo box, a spin box or a gallery keep their own scrolling).
  • of_set_property, of_get_property and of_component_name: drive a property by its name (settings screen, saved configuration).

Fixed #

  • Hover states stay readable in Office 2007, light and dark (arrows of drop-down buttons, pressed or open states).
  • Group, control and menu entry handles are freed when the ribbon is destroyed and on its of_reset (they stayed in memory and pointed to old content).
  • A color read back (il_color, item colors) returns the color that was set (it returned 0).
  • Rich text: a [word] that is not a tag is shown as typed (report[final].pdf) instead of disappearing with the rest of the text.

Behavior changes #

See the "Migrating from 2.0 to 3.0" guide.

  • of_insert_tab counts positions from 1.
  • An entry placed in a submenu returns its full address: ue_menu_selected returns "home/clip/paste/more/pdf", ue_app_menu_selected returns "export/pdf"; of_add_app_menu_item accepts a multi-level parent.

2.0 — September 2026 #

New #

  • ib_visible on every menu entry: hiding is not disabling, the entry leaves the menu, shortcut included, and keeps its key.
  • is_title on a tab and a group (readable and writable); is_label and is_image on a menu entry; of_is_separator, of_is_header, of_is_checkable tell what an entry is.
  • of_count, of_keys_at and of_has at every level: tabs, groups, controls, entries.
  • The tooltip of an item reads back.
  • ue_script_error: a script error in the page reaches PowerBuilder with its message instead of being lost.

Fixed #

  • ib_checked / ib_enabled read back on a menu entry returned the state of the control carrying the menu.
  • The icon of a disabled button is grayed in compact mode; disabled buttons stay readable in Office 2007.
  • A Windows path, or a text containing a quote, received in an event arrives intact (backslashes are no longer doubled, the text is no longer cut at the quote).

Behavior changes #

See the "Migrating from 1.0 to 2.0" guide, Ribbon section.

  • The API is reshaped: an item is reached by its address ("home/clipboard/paste", up to "home/clipboard/paste/special" for an entry), everything is built from the component (of_add_group("tab/group", …), of_add_button("tab/group/id", …)…) and the add methods return a code (long) instead of a handle; the handles (of_tab, of_group, of_item, of_menu_item, of_ctx_group) only carry properties.
  • of_select_gallery_item(address) and of_open(address) move from the handle to the component; the cascade overload of of_add_app_menu_item is gone in favor of an address ("file/recent").
  • Events return the address in one argument: ue_clicked(as_keys), ue_toggled(as_keys, ab_checked), ue_menu_selected(as_keys, ab_checked), ue_combo_changed(as_keys, as_text), ue_value_changed, ue_color_changed, ue_launcher(as_keys), ue_gallery_selection_changed(as_from_keys, as_keys)…

1.0 — August 2026 #

New #

  • Tabs and groups, tabs inserted at a position, colored contextual tabs and groups, of_select_tab / of_selected_key, ue_selection_changed.
  • Controls: large and small buttons, split and drop-down buttons, toggles, check boxes, combo boxes (editable or not), spin boxes, color pickers, tile galleries (choice cancellable through ue_gallery_selection_changing), separators; menus with cascades, checkable entries, headers and separators.
  • Quick access toolbar and application menu (is_app_button, ue_app_button, ue_app_menu_selected), with submenus.
  • Group launcher (ue_launcher), collapsible ribbon (ib_minimized, chevron, double-click on a tab, ue_minimized).
  • Adaptive layout: groups collapse into a button that opens a panel when the window is narrow.
  • Alt key tips (is_keytip, ue_keytips), automatic height (ue_auto_height, ue_size_changed), simple and rich tooltips, colors per item and per state, Office, Fluent and Metro themes.