PBToolboxAI v3 ← Site

buttonbar — u_pbt_buttonbar #

← Referência dos componentes · Índice do guia

buttonbar alinha uma fila de botões de comando — ícone, rótulo ou ambos — num único componente. Um clique reporta o id do botão (ue_clicked); cada botão é controlado por um handle (of_button) para o desativar, colorir ou ocultar. O componente a preferir assim que há vários botões: um WebView2 para toda a barra, onde N button separados custariam N.

▶ Ver ao vivo — Aplicação de demonstração, mosaico Button bar, com o código e esta página lado a lado.


Início rápido #

// Une barre d'actions, en trois lignes
uo_bar.of_add_button("save", "mono:img\packimages.dll:svg/samples/save", "Save")
uo_bar.of_add_button("find", "mono:img\packimages.dll:svg/samples/find", "Find")
uo_bar.of_add_button("copy", "", "Copy")   // sans icone

// Griser un bouton
uo_bar.of_button("copy").ib_enabled = false

// Reagir : ue_clicked porte l'id du bouton
// (dans l'evenement ue_clicked du composant)
CHOOSE CASE as_key
	CASE "save" ; wf_save()
	CASE "find" ; wf_find()
END CHOOSE

Propriedades #

PropriedadeTipoPredefinidoDescrição
ii_padding_xinteger12Recuo esquerdo/direito da barra, em pixels: o espaço antes do primeiro botão e depois do último. 0 cola os botões às bordas
ii_padding_yinteger12Recuo superior/inferior da barra, em pixels. Um botão PREENCHE a altura da barra: este recuo decide a altura dos botões (barra mais alta ou recuo menor = botões mais altos). 12 por predefinição; -1 = o do tema
ii_gapinteger-1Espaço ENTRE dois botões, em pixels. -1 (predefinição) = o do tema: um tema clássico junta os botões (com uma linha separadora), os outros separam-nos. 0 junta-os seja qual for o tema
is_alignstringendAlinha a fila: start (esquerda), center, end (direita, predefinição, como uma caixa de diálogo) ou justify (botões de igual largura em toda a largura). Valores lógicos (RTL) — constantes ALIGN_*
is_defaultstring""Chave do botão predefinido — a ação principal, pintada com o acento, que Enter aciona (como o OK de uma caixa de diálogo). Vazio = nenhum; apenas um botão predefinido de cada vez
is_cancelstring""Chave do botão cancelar — o que Esc aciona (como o Cancelar de uma caixa de diálogo). Vazio = nenhum; apenas um botão cancelar de cada vez
is_theme_stylestringfluentEstilo visual do componente (constantes THEME_STYLE_*)
is_theme_modestringlightVariante clara ou escura (constantes THEME_MODE_*)
il_theme_accentlong-1Cor de destaque deste componente (-1 = destaque do tema)
is_tooltipstring""Tooltip simples apresentado ao passar sobre o componente
is_super_tooltip_titlestring""Título do tooltip enriquecido (prevalece sobre is_tooltip)
is_super_tooltip_textstring""Texto do tooltip enriquecido (aceita marcação enriquecida)
is_super_tooltip_imagestring""Imagem do tooltip enriquecido

Métodos #

MétodoFunção
of_add_button (string as_key, string as_image_file, string as_text) → longAdiciona um botão de comando (id, ficheiro de imagem, rótulo) no fim da barra. mono: na imagem recolore-a ao tema; um rótulo vazio faz um botão só ícone. Devolve 0, -5 com chave vazia ou sem imagem nem texto
of_insert_button (string as_key, integer ai_index, string as_image_file, string as_text) → longInsere um botão de comando na posição ai_index (à partir de 1), deslocando os restantes. Devolve 0, -5 com chave vazia ou sem imagem nem texto
of_remove_button (string as_key) → longRemove um botão pela sua chave; os restantes mantêm o seu estado vivo. Devolve 0, -5 com chave vazia
of_move_button (string as_key, integer ai_index) → longMove um botão para a posição ai_index (à partir de 1) sem perder o seu estado vivo. Devolve 0, -5 com chave vazia
of_clear_buttons ( ) → longRemove todos os botões da barra. Devolve 0, -2 se não criado
of_button (string as_key) → n_pbt_buttonbar_buttonDevolve o handle de um botão (por id) para ler ou alterar as suas propriedades (ver abaixo)

Eventos #

EventoQuando
ue_clicked (string as_key)O utilizador clicou num botão de comando: o seu id é passado. Um botão desativado não emite nada

Propriedades de um botão (of_button) #

PropriedadeTipoPredefinidoDescrição
ib_enabledbooleantrueAtiva ou desativa um botão; desativado, não se clica
ib_visiblebooleantrueMostra ou oculta um botão; oculto, mantém o lugar e regressa onde estava
is_textstring""Rótulo do botão; alterar após adicionar
is_imagestring""Ícone do botão (ficheiro de imagem; mono: segue o tema); alterar após adicionar
il_badgelong0Pequeno emblema de contagem no canto do botão (0 = nenhum)
is_shortcutstring""Mnemónico deste botão: Alt+a letra aciona-o, e a letra é sublinhada na sua etiqueta. Uma letra (usa-se a primeira); vazio = nenhuma
il_back_colorlong-1Fundo DESTE botão (-1 = o do componente, que segue o tema)
il_text_colorlong-1Cor do texto DESTE botão (-1 = a do componente)
il_back_color_hoverlong-1Fundo DESTE botão ao passar (-1 = o do componente)
il_text_color_hoverlong-1Cor do texto DESTE botão ao passar (-1 = a do componente)
il_accentlong-1Destaque DESTE botão (-1 = destaque do componente)

Herdado da base comum #

Estes membros existem em todos os componentes visuais — não são próprios deste. São detalhados uma só vez, nos capítulos transversais; esta tabela apenas diz onde os ler.

MembrosFunçãoDetalhado em
of_count · of_keys_at · of_hasPercorrer o que o componente contém3.2 Os items
of_resetRepor o componente a zero3.6 Repor um componente a zero: of_reset()
of_register_shortcut · of_clear_shortcutsAtalhos de teclado do componente3.5 Os atalhos de teclado
of_is_created · of_is_ready · of_get_last_errorSe nasceu, se está pronto, o que falhou3.7 Diagnóstico
of_save_as_png · of_save_as_jpgExportar a renderização como imagem3.8 Exportar a representação como imagem
of_set_redrawAgrupar as alterações num único repinte3.10 Boas práticas
of_preload_iconsÍcones mostrados sem atrasoApresentação instantânea: of_icon
of_set_translationTraduzir uma legenda do componente5.2 Adaptar uma etiqueta: of_set_translation
of_focus_webviewDar o foco ao componente6.4 Teclado e focus
of_print · of_print_to_pdfImprimir, ou escrever um PDF6.9 Imprimir
of_set_property · of_get_property · of_component_nameControlar uma propriedade pelo nome3.1 O motor de propriedades

← Referência dos componentes · Índice do guia