Olá pessoal…
Você sabia que os gets no AdvPL, podem ter aquele famoso texto de PlaceHolder? Bastante utlizado em páginas web.
O que seria PlaceHolder? Sabe quando você vai fazer um cadastro em algum site, e naqueles campos tem um texto de fundo, por exemplo, “Insira o nome completo”, ai quando você clica e começa a digitar, ele “some” esse texto que ficava atrás do campo?
Esse recurso é chamado de PlaceHolder, é como se fosse algo para deixar intuitivo ao usuário, o que deve ser colocado naquele campo. No AdvPL também existe esse recurso, basta editar o atributo cPlaceHold, colocando um texto qualquer, que será apresentado no Get, e quando você editar, irá sumir.
Por exemplo, montei uma função bem simples, onde o PlaceHolder, mostra ao usuário para colocar o Código, o Nome ou o CNPJ do Fornecedor. E ao digitar algo, ele some com esse Texto ao fundo.
Abaixo o exemplo completo montado, conforme print acima.
//Bibliotecas #Include "Protheus.ch" #Include "TopConn.ch" /*/{Protheus.doc} PTFINC04 Consulta de Títulos a Pagar @author Atilio @since 09/01/2017 @version 1.0 @type function /*/ User Function PTFINC04() Local aArea := GetArea() //Variáveis da tela Private oDlgPvt Private oGrpFor Private oGetFor Private cGetFor := Space(250) Private oGrpAco Private oBtnExe //Tamanho da Janela Private nJanLarg := 500 Private nJanAltu := 120 Private nJanMeio := ((nJanLarg)/2)/2 Private nTamBtn := 048 //Criando a janela DEFINE MSDIALOG oDlgPvt TITLE "Consulta de Títulos a Pagar" FROM 000, 000 TO nJanAltu, nJanLarg COLORS 0, 16777215 PIXEL //Grupo com o Get @ 003, 003 GROUP oGrpFor TO 30, (nJanLarg/2)-1 PROMPT "Fornecedor: " OF oDlgPvt COLOR 0, 16777215 PIXEL @ 010, 006 MSGET oGetFor VAR cGetFor SIZE (nJanLarg/2)-9, 013 OF oDlgPvt COLORS 0, 16777215 PIXEL oGetFor:cPlaceHold := "Insira o Código, Nome ou CNPJ..." //Grupo Ações com o Botão @ (nJanAltu/2)-30, 003 GROUP oGrpAco TO (nJanAltu/2)-3, (nJanLarg/2)-1 PROMPT "Ações: " OF oDlgPvt COLOR 0, 16777215 PIXEL @ (nJanAltu/2)-24, nJanMeio - (nTamBtn/2) BUTTON oBtnExe PROMPT "Verificar" SIZE nTamBtn, 018 OF oDlgPvt ACTION(fVerifica()) PIXEL //Ativando a janela ACTIVATE MSDIALOG oDlgPvt CENTERED RestArea(aArea) Return /*---------------------------------------* | Func.: fVerifica | | Desc.: Executa a fórmula digitada | *---------------------------------------*/ Static Function fVerifica() Local aArea := GetArea() MsgInfo(cGetFor, "Atenção") RestArea(aArea) Return
Bom pessoal, por hoje é só.
Abraços e até a próxima.
Gracias por compartir, sin embargo no funciono, lo compile en protheus 11 y me dice que la propiedad cPlaceHold no es valida. Quiero suponer que es porque no tengo actualizado algún *.CH
Boa noite Oliverio, tudo bem?
Na verdade não tem haver com a CH mesmo, mas sim por uma questão de atualização.
O recurso de PlaceHolder foi criado no Protheus 12.
Espero ter ajudado.
Um grande abraço.