Entendendo o que cada tecnologia faz — e por que elas se complementam
Quando você trabalha com o Windows Ribbon Framework (o mesmo componente do WordPad e do Paint), surge uma dúvida natural:
"Os controles do Ribbon são completos? Substituem a Hwgui?"
A resposta é: são completos, mas não substituem a Hwgui. O Ribbon é uma barra de comandos, não um framework de UI. Este documento explica a diferença e mostra como combinar as peças.
Um <ComboBox> no Ribbon é um ComboBox de verdade:
Um <Spinner> é um Spinner de verdade:
Um <ToggleButton> é um botão de estado:
Execute (o que fazer quando clica) e o UpdateProperty (que valores mostrar).
| Controle | Uso típico |
|---|---|
Button | Ações (Salvar, Imprimir) |
ToggleButton | Opções com estado (Negrito on/off) |
ComboBox | Escolhas curtas (fonte, tamanho) |
Spinner | Valores numéricos (zoom, quantidade) |
CheckBox | Opções binárias |
Gallery | Galeria de estilos (como no Word) |
ColorPicker | Escolha de cor |
FontControl | Seletor de fonte completo |
DropDownButton | Menu suspenso com comandos |
SplitButton | Botão + dropdown |
O Ribbon é uma barra de comandos, não uma área de trabalho. Ele só pode fazer uma coisa: mostrar abas/grupos/botões numa faixa no topo da janela.
| O que você precisa | Ribbon pode? |
|---|---|
| Grid/tabela de dados | NÃO |
| Editor de texto (RichEdit) | NÃO |
| Árvore (TreeView) | NÃO |
| Lista com scroll | NÃO |
| Formulário com vários campos | NÃO |
| Gráficos / dashboard | NÃO |
| Calendário | NÃO |
| Área de desenho | NÃO |
| Múltiplas janelas | NÃO |
| Qualquer coisa abaixo da faixa de comandos | NÃO |
| Situação | Ferramenta |
|---|---|
| Barra de menus/ferramentas no topo | Ribbon |
| Grid de clientes | Hwgui (Browse) ou WebView2 (DataTables) |
| Formulário de cadastro | Hwgui (Edits, Gets) ou WebView2 (HTML form) |
| Dashboard com gráficos | WebView2 (Chart.js) |
| Editor de texto | Hwgui (RichEdit) ou WebView2 (Quill) |
| Menus contextuais (botão direito) | Hwgui |
| Diálogos modais | Hwgui |
| Barra de status | Hwgui |
O Ribbon manda os comandos (Negrito, Itálico, Salvar). A Hwgui faz o trabalho pesado (edição, arquivo, status).
O Ribbon só avisa "o usuário clicou em Negrito". Quem faz o negrito acontecer é o Harbour + Hwgui.
O Office funciona exatamente assim:
| Parte | Tecnologia |
|---|---|
| Ribbon | Motor próprio da Microsoft (não o nativo) |
| Área de edição | Motor próprio |
| Comunicação | Protocolo interno |
Se você abrir o Word, verá:
Cada camada faz o que sabe fazer melhor:
| Camada | Responsabilidade |
|---|---|
| Ribbon | Comandos no topo (visual nativo do Windows) |
| WebView2 | Interface rica e flexível (HTML/CSS/JS) |
| Hwgui | Janela hospedeira, status bar, diálogos |
| Harbour | Lógica de negócio, acesso a DBF |
| Pergunta | Resposta |
|---|---|
| Os controles do Ribbon são completos? | SIM — comportamento todo no Windows |
| Substituem a Hwgui? | NÃO — são só a barra de comandos |
| Dá pra fazer um app só com Ribbon? | NÃO — falta a área de trabalho |
| Preciso de Hwgui? | SIM — pra grid, form, editor, status bar |
| Preciso de WebView2? | OPCIONAL — pode substituir a Hwgui na área cliente |
| Os três convivem? | SIM — arquitetura válida |