Asdicas ou dicas de ajuda são muito úteis, pois simplificam a interface do utilizador e ajudam os utilizadores a compreender objectos que por vezes não são evidentes por si próprios. 4D suporta dicas de ajuda na maioria das áreas e inputs ao passar o ponteiro por cima deles, mas não foi esse o caso com um objecto de caixa de listagem.
Com 4D v16 R5 acrescentámos a possibilidade de mostrar uma dica de ajuda numa célula de caixa de listagem graças ao enriquecimento de dois comandos.
Definir uma dica sobre uma caixa de listagem
O OBJECT SET HELP TIP foi expandido para suportar caixas de listagem:
// Set a help tip on myListbox object
OBJECT SET HELP TIP(*; "myListbox"; "Esta é a dica de ajuda da caixa de listagem")
exibir uma dica numa célula de caixa de listagem
Para tornar as coisas ainda melhores, as dicas de ajuda podem ser definidas de acordo com a posição do rato. Com apenas algumas linhas de código, é possível definir dicas de ajuda com base na coluna pairada e mesmo de acordo com cada linha!
Para isto, o comando LISTBOX GET CELL POSITION foi também melhorado com dois novos parâmetros opcionais (mouseX e mouseY, em pixels) e devolve os correspondentes números column e row.
Este comando pode ser chamado durante o comando On mouse move para actualizar dinamicamente o conteúdo da ajuda, de acordo com a posição da coluna e da linha do rato sobre a caixa de listagem.
GET MOUSE($x;$y;$button)
// Obter a coluna e linha da caixa de listagem para saber qual é a célula que o utilizador passa
LISTBOX GET CELL POSITION (*; "myListbox";$x;$y;$column;$row)
If (
$column=1) & ($row=1)
// Actualizar o conteúdo da dica de acordo com a célula pautada
OBJECT SET HELP TIP (*; "myListbox"; "Esta é a célula (1;1)")
End if