Página 1 de 1

Cláusula WHEN no EditBox

Enviado: 23 Nov 2021 16:55
por Poka
Olá á todos.

Nos campos GetBox uso when para quando entrar no campo, mostrar um texto embaixo explicando o campo.
No EditBox não tem esta cláusula WHEN. Não vi um jeito de mostrar uma obs embaixo quando entra on EditBox.

Tem como fazer?

Grato
Poka

Cláusula WHEN no EditBox

Enviado: 23 Nov 2021 17:56
por alxsts
Olá!

Estranho isto... poderia postar um exemplo do teu código?

Nunca usei GetBox... nem sei se existe isto na HwGUI.
Poka escreveu:uso when para quando entrar no campo,... mostrar um texto embaixo explicando o campo.
Para esta finalidade, utiliza-se a propriedade Tooltip do controle. Faz com que apareça um balão informativo quando o mouse está sobre o controle.

Cláusula WHEN no EditBox

Enviado: 25 Nov 2021 08:01
por Poka
Bom dia.

Obrigado Alexandre por responder.
Para esta finalidade, utiliza-se a propriedade Tooltip do controle. Faz com que apareça um balão informativo quando o mouse está sobre o controle
Antigamente era Tooltip pra todo lado, ninguém vê, Tirei tudo, mais atrapalha do que ajuda.

para campos uso GETBOX, a cláusula WHEN faz com que ao entrar no campo, executa uma funcão, para texto uso EditBOX, que não tem essa função, O EDITBOX tem ON CHANGE que executa uma função quando vc digita alguma coisa. Mas pelo jeito não tem essa clausula WHEN.

Com WHEN sempre que entra no campo mostro no rodapé umas observações sobre o campo posicionado.
DEFINE GETBOX <ControlName>

[ ID <nId> ]
[ PARENT <ParentWindowName> ]
COL <nCol>
ROW <nRow>
[ HEIGHT <nHeight> ]
[ WIDTH <nWidth> ]
[ FIELD <FieldName> ]
[ VALUE <nValue> ]
[ ACTION <ActionProcedureName> | <bBlock>
[ ACTION2 <Action2ProcedureName> | <bBlock>
[ IMAGE <cBitmapName> | <acBitmapName>]
[ BUTTONWIDTH <nButtonWidth> ]
[ PICTURE <cPicture> ]
[ VALID <valid> ]
[ VALIDMESSAGE <cValidMessage> ]
[ MESSAGE <cMessage> ]
[ WHEN <when> ]
[ READONLY < .T. | .F.> ]
[ FONTNAME <cFontName> ]
[ FONTSIZE <nFontSize> ]
[ FONTBOLD < .T. | .F.> ]
[ FONTITALIC < .T. | .F.> ]
[ FONTUNDERLINE < .T. | .F.> ]
[ FONTSTRIKEOUT < .T. | .F.> ]
[ PASSWORD < .T. | .F.> ]
[ TOOLTIP <cToolTipText>|<acToolTipText> ]
[ BACKCOLOR <aBackColor> ]
[ FONTCOLOR <aFontColor> ]
[ ONCHANGE <uChange> ] ;
[ ONGOTFOCUS <OnGotFocusProcedure> | <bBlock> ]
[ ONLOSTFOCUS <OnLostFocusProcedure> | <bBlock> ]
[ RIGHTALIGN < .T. | .F.> ]
[ INVISIBLE < .T. | .F.> ]
[ NOTABSTOP < .T. | .F.> ]
[ NOBORDER ]
[ NOMINUS < .T. | .F.> ]
[ HELPID <nHelpId> ]

END GETBOX
WHEN clause is checked when control become focus . If defined here function or codeblock
used as WHEN param return false, control status is changed to readonly (noneditable).

DEFINE EDITBOX <ControlName>

[ ID <nId> ]
[ PARENT <ParentWindowName> ]
COL <nCol>
ROW <nRow>
[ WIDTH <nWidth> ]
[ HEIGHT <nHeight>]
[ FIELD <FieldName> ]
[ VALUE <cValue> ]
[ READONLY < .T. | .F.> ]
[ FONTNAME <cFontName> ]
[ FONTSIZE <nFontSize> ]
[ FONTBOLD < .T. | .F.> ]
[ FONTITALIC < .T. | .F.> ]
[ FONTUNDERLINE < .T. | .F.> ]
[ FONTSTRIKEOUT < .T. | .F.> ]
[ TOOLTIP <cToolTipText> ]
[ BACKCOLOR <aBackColor> ] // * or <aBackColor,aReadOnlyBackColor>
[ FONTCOLOR <aFontColor> ] // * or <aFontColor,aReadOnlyFontColor>
[ MAXLENGTH <nInputLength> ]
[ ONGOTFOCUS <OnGotFocusProcedure> | <bBlock> ]
[ ONCHANGE <OnChangeProcedure> | <bBlock> ]
[ ONLOSTFOCUS <OnLostFocusProcedure> | <bBlock> ]
[ HELPID <nHelpId> ]
[ INVISIBLE < .T. | .F.> ]
[ NOTABSTOP < .T. | .F.> ]
[ NOVSCROLLBAR < .T. | .F.> ]
[ NOHSCROLLBAR < .T. | .F.> ]

END EDITBOX
@ Wlin,xcol GETBOX t_nome;
width len(vnome)*Wsize ;
HEIGHT waltget ;
value vnome ;
picture"@x" ;
when fobs("t_nome") ;
valid f_show("t_nome") ;
font wfonte;
size Wsize ;
backcolor wbackcolorCampoGet
fontcolor wFontColorCampoGet

Poka

Cláusula WHEN no EditBox

Enviado: 25 Nov 2021 09:14
por JoséQuintas
Acho que equivalente ao WHEN é esse GOTFOCUS, que é quando o controle recebe o foco.

Cláusula WHEN no EditBox

Enviado: 25 Nov 2021 21:17
por Poka
Quintas, funciona equivalente sim.

Obrigado

Poka