Como colocar sombra no Alert do Clipper?

Fórum sobre a linguagem CA-Clipper.

Moderador: Moderadores

labaroazul
Usuário Nível 2
Usuário Nível 2
Mensagens: 83
Registrado em: 26 Fev 2008 14:52
Localização: São Paulo - SP
Contato:

Como colocar sombra no Alert do Clipper?

Mensagem por labaroazul »

Gostaria de Colocar sombra qiuando uso a função Alert do Clipper. Isso é possível?
Windows XP Professional + Clipper 5.2e + Exospace + Dbase III Plus + SIX3 + NoDosImp + LXPic
"O trabalho afasta três males: o vício, a pobreza e o tédio." (Voltaire)
Site: http://www.labaroazul.xpg.com.br
Repositório: http://www.4shared.com/dir/31334106/e79 ... aring.html
Avatar do usuário
Pablo César
Usuário Nível 7
Usuário Nível 7
Mensagens: 5312
Registrado em: 31 Mai 2006 10:22
Localização: Curitiba - Paraná

Re: Como colocar sombra no Alert do Clipper?

Mensagem por Pablo César »

Eu acho que a única forma é você criando uma função tipo ALERT2 colocando a função sombra e direcionar a função ALERT para ALERT2.
Um clip-abraço !

Pablo César Arrascaeta
Compartilhe suas dúvidas e soluções com todos os colegas aqui do fórum.
Evite enviar as dúvidas técnicas por MPs ou eMails, assim todos iremos beneficiar-nos.
labaroazul
Usuário Nível 2
Usuário Nível 2
Mensagens: 83
Registrado em: 26 Fev 2008 14:52
Localização: São Paulo - SP
Contato:

Re: Como colocar sombra no Alert do Clipper?

Mensagem por labaroazul »

Amigo Pablo César,

Seguindo a sua sugestão, demorei, mas consegui criar uma função que imita a Alert() do Clipper. Só não consegui arrumar um jeito de ela exibir uma mensagem longa em duas ou mais linhas...

Eis o código:

Código: Selecionar todos

DO WHILE .T.
    SET CURSOR OFF
    SET COLOR TO B/W
    CLEAR SCREEN
    FOR L = 0 TO 24
        @ L,00 SAY REPLICATE(CHR(124),80)
    NEXT
    IF ALERTA("DESEJA REALMENTE SAIR?",{"SIM","NAO","CANCELAR"},"W+/B") = 1
        EXIT
    ENDIF
ENDDO
SET CURSOR ON
SET COLOR TO
CLEAR SCREEN
RETURN

FUNCTION ALERTA(cMSG,aBOTOES,cCORES)
    LOCAL nHI, nHF, nVI, nVL
    LOCAL nTAMSG, nLARCX, nALTCX
    LOCAL nTAMOP, nOP
    LOCAL cCORMSG, cTELAMSG
    LOCAL nALERTA
    cCORES = cCORES + ",I"
    nTAMOP = 0
    FOR nOP := 1 TO LEN(aBOTOES)
        nTAMOP = nTAMOP + LEN(ALLTRIM(aBOTOES[nOP])) + IIF((nOP > 1) .AND. (nOP < LEN(aBOTOES)),3,0)
    NEXT

    nTAMSG = LEN(cMSG)
    IF nTAMSG > 70
        nTAMSG = 70
    ENDIF

    nLARCX = nTAMSG + 8
    nALTCX = 3
    nVI = ((MAXROW() - 1) - nALTCX) / 2
    nHI = ((MAXCOL() - 1) - nLARCX) / 2
    nVF = nVI + nALTCX + 1
    nHF = nHI + nLARCX + 1
    cCORMSG = SETCOLOR()
    cTELAMSG = SAVESCREEN(00,00,MAXROW(),MAXCOL())
    SETCOLOR(cCORES)
    @ nVI,nHI CLEAR TO nVF,nHF
    @ nVI,nHI TO nVF,nHF
    DBGSHADOW(nVI,nHI,nVF,nHF)
    @ nVI + 1, ROUND(nHI + (((nHF - nHI) - nTAMSG) / 2),0) SAY cMSG
    @ nVI + 3, ROUND(nHI + (((nHF - nHI) - nTAMOP) / 2),0) SAY ""
    FOR nOP := 1 TO LEN(aBOTOES)
        @ ROW(), COL() + IIF(nOP=1,0,3) PROMPT ALLTRIM(aBOTOES[nOP])
    NEXT
    MENU TO nALERTA
    DO CASE
    CASE LASTKEY() = 27
        nALERTA = 0
    ENDCASE
    SETCOLOR(cCORMSG)
    RESTSCREEN(00,00,MAXROW(),MAXCOL(),cTELAMSG)
RETURN nALERTA
Windows XP Professional + Clipper 5.2e + Exospace + Dbase III Plus + SIX3 + NoDosImp + LXPic
"O trabalho afasta três males: o vício, a pobreza e o tédio." (Voltaire)
Site: http://www.labaroazul.xpg.com.br
Repositório: http://www.4shared.com/dir/31334106/e79 ... aring.html
Avatar do usuário
Pablo César
Usuário Nível 7
Usuário Nível 7
Mensagens: 5312
Registrado em: 31 Mai 2006 10:22
Localização: Curitiba - Paraná

Como colocar sombra no Alert do Clipper?

Mensagem por Pablo César »

Na tela Inicial em Downloads tem dois exemplos muito bons e que podem ser melhorados e ambos trabalham com quebra de linhas através do ";" como no ALERT.

https://pctoledo.org/download/cop ... t&deonde=2
https://pctoledo.org/download/cop ... t&deonde=2
Um clip-abraço !

Pablo César Arrascaeta
Compartilhe suas dúvidas e soluções com todos os colegas aqui do fórum.
Evite enviar as dúvidas técnicas por MPs ou eMails, assim todos iremos beneficiar-nos.
Responder