Como fazer sombra "transparente" como a do Edit do Ms-Dos?
Moderador: Moderadores
-
labaroazul
- Usuário Nível 2

- Mensagens: 83
- Registrado em: 26 Fev 2008 14:52
- Localização: São Paulo - SP
- Contato:
Como fazer sombra "transparente" como a do Edit do Ms-Dos?
Bom dia!
Estou tentanto dar uma "embelezada" em um sistema e gostaria de saber se, no Clipper, tem algum jeito de imitar aquele efeito de sombra "transparente" dos menus do Edit do Ms-dos. A sombra não fica preta, dá pra ver o que está escrito no fundo.
É só uma curiosidade!
:{
Estou tentanto dar uma "embelezada" em um sistema e gostaria de saber se, no Clipper, tem algum jeito de imitar aquele efeito de sombra "transparente" dos menus do Edit do Ms-dos. A sombra não fica preta, dá pra ver o que está escrito no fundo.
É só uma curiosidade!
:{
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
"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
- Pablo César
- Usuário Nível 7

- Mensagens: 5312
- Registrado em: 31 Mai 2006 10:22
- Localização: Curitiba - Paraná
Como fazer sombra "transparente" como a do Edit do Ms-Dos?
Aqui no fórum na seção de "Downloads" tem, dê uma olhada: https://pctoledo.org/forum/filebase.php?search=1
Também tem este exemplo:
Também tem este exemplo:
- Anexos
-
Demo.prg- (1.34 KiB) Baixado 233 vezes
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.
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.
Re: Como fazer sombra "transparente" comoa do Edit do Ms-Dos?
eu uso esta função do miro
Código: Selecionar todos
@ 13, 19 Prompt " 1-> Cadastro Entrada de N.F. "
@ 14, 19 Prompt " 2-> Consulta Entrada de N.F. "
@ 15, 19 Prompt " 3-> Relat¢rio Entrada de N.F. "
shadow(12, 18, 16, 50)
Menu To ows
********************************
Function Shadow(LIN_SUP,COL_SUP,LIN_INF,COL_INF)
LIN_INF=LIN_INF+1
LIN_SUP=LIN_SUP-1
COL_INF=COL_INF+2
COL_SUP=COL_SUP-2
IF PCOUNT()=2 .OR. PCOUNT()=3
C_SOM=COL_SUP
L_SOM=LIN_SUP
LIN_SUP=VAL(SUBS(C_SOM,1,2))
COL_SUP=VAL(SUBS(C_SOM,3,2))
LIN_INF=VAL(SUBS(C_SOM,5,2))
COL_INF=VAL(SUBS(C_SOM,7,2))
COL_SOM=SUBS(C_SOM,9)
LIN_SOM=L_SOM
ENDIF
IF COL_SUP<2 .OR. LIN_INF>22
C_SOM=""
L_SOM=""
RETURN .F.
ENDIF
IF PCOUNT()=3
RESTSCREEN(LIN_SUP+1,COL_INF+1,LIN_INF,COL_INF+2,COL_SOM)
RESTSCREEN(LIN_INF+1,COL_SUP+2,LIN_INF+2,COL_INF+2,LIN_SOM)
RETURN .F.
ENDIF
IF PCOUNT()<>2
COL_SOM=SAVESCREEN(LIN_SUP+1,COL_INF+1,LIN_INF,COL_INF+2)
LIN_SOM=SAVESCREEN(LIN_INF+1,COL_SUP+2,LIN_INF+2,COL_INF+2)
ENDIF
COL_SOM=SUBS(COL_SOM,1,((LIN_INF-LIN_SUP)+1)*4)
LIN_SOM=SUBS(LIN_SOM,1,((COL_INF-COL_SUP)+1)*4)
IF SUBS(COL_SOM,2,1)<>CHR(7)
C_SOM=STR(LIN_SUP,2)+STR(COL_SUP,2)+STR(LIN_INF,2)+STR(COL_INF,2)+COL_SOM
L_SOM=LIN_SOM
ENDIF
FOR I=2 TO LEN(COL_SOM) STEP 2
COL_SOM=STUFF(COL_SOM,I,1,CHR(8))
NEXT
FOR I=2 TO LEN(LIN_SOM)/2 STEP 2
LIN_SOM=STUFF(LIN_SOM,I,1,CHR(8))
NEXT
RESTSCREEN(LIN_SUP+1,COL_INF+1,LIN_INF+1,COL_INF+2,COL_SOM)
RESTSCREEN(LIN_INF+1,COL_SUP+2,LIN_INF+2,COL_INF+2,LIN_SOM)
RETURN .T.Daniel
Harbour + Minigui + dbfcdx
Marinas-Gui Pena que parou o suporte
Harbour + Minigui + dbfcdx
Marinas-Gui Pena que parou o suporte
Re: Como fazer sombra "transparente" comoa do Edit do Ms-Dos?
Você terá de trabalhar em cada byte de cor da área de sombra, individualmente. Mas pelo menos o truque é simples: altere o byte de cor para fundo preto (0) e frente preto enfatizado (8), ou seja, 08 (hexa), mantendo o byte do caractere intacto, claro.
[]'s
Maligno
---
Não respondo questões técnicas através de MP ou eMail. Não insista.
As dúvidas devem ser postadas no fórum. Desta forma, todos poderão
se beneficiar das respostas.
---
Se um dia precisar de uma transfusão de sangue você perceberá como
é importante a figura do doador. Procure o hemocentro de sua cidade e
se informe sobre a doação de sangue, plaquetas e medula óssea. Doe!
Maligno
---
Não respondo questões técnicas através de MP ou eMail. Não insista.
As dúvidas devem ser postadas no fórum. Desta forma, todos poderão
se beneficiar das respostas.
---
Se um dia precisar de uma transfusão de sangue você perceberá como
é importante a figura do doador. Procure o hemocentro de sua cidade e
se informe sobre a doação de sangue, plaquetas e medula óssea. Doe!
- Pablo César
- Usuário Nível 7

- Mensagens: 5312
- Registrado em: 31 Mai 2006 10:22
- Localização: Curitiba - Paraná
Re: Como fazer sombra "transparente" como a do Edit do Ms-Dos?
Sei também que o Clipper possue uma função interna de sombra que faz parte do "undocumented" functions, mas não lembro onde tem a respeito.
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.
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.
- alaminojunior
- Colaborador

- Mensagens: 1717
- Registrado em: 16 Dez 2005 21:26
- Localização: Ubatuba - SP
Re: Como fazer sombra "transparente" comoa do Edit do Ms-Dos?
DBGSHADOW(10,10,20,50)Sei também que o Clipper possue uma função interna de sombra que faz parte do "undocumented" functions, mas não lembro onde tem a respeito.
É tiro e queda !!!
Compilador xHarbour 1.2.3 + Embarcadero C++ 7.30
MySQL c/ SQLRDD
HwGui + GTWVG
MySQL c/ SQLRDD
HwGui + GTWVG
Re: Como fazer sombra "transparente" comoa do Edit do Ms-Dos?
Não conheço. Mas isso nem é tão importante, a meu ver. É coisa fácil de fazer. Fiz minha própria função em pouco tempo.Pablo César escreveu:Sei também que o Clipper possue uma função interna de sombra que faz parte do "undocumented" functions, mas não lembro onde tem a respeito.
[]'s
Maligno
---
Não respondo questões técnicas através de MP ou eMail. Não insista.
As dúvidas devem ser postadas no fórum. Desta forma, todos poderão
se beneficiar das respostas.
---
Se um dia precisar de uma transfusão de sangue você perceberá como
é importante a figura do doador. Procure o hemocentro de sua cidade e
se informe sobre a doação de sangue, plaquetas e medula óssea. Doe!
Maligno
---
Não respondo questões técnicas através de MP ou eMail. Não insista.
As dúvidas devem ser postadas no fórum. Desta forma, todos poderão
se beneficiar das respostas.
---
Se um dia precisar de uma transfusão de sangue você perceberá como
é importante a figura do doador. Procure o hemocentro de sua cidade e
se informe sobre a doação de sangue, plaquetas e medula óssea. Doe!
- Pablo César
- Usuário Nível 7

- Mensagens: 5312
- Registrado em: 31 Mai 2006 10:22
- Localização: Curitiba - Paraná
Como fazer sombra "transparente" como a do Edit do Ms-Dos?
É isso aí colega, valeu !alaminojunior escreveu:DBGSHADOW(10,10,20,50)
É tiro e queda !!!
Agora você conhece. O efeito é o mesmo e com menos linha de programação, veja tem dois exemplos:Maligno escreveu:Não conheço. Mas isso nem é tão importante, a meu ver.
Código: Selecionar todos
SETCOLOR("N/BG")
CLS
FUN_DO:=PADR("® Clipper on Line ¯",50)
FUN_DO:=SUBSTR( FUN_DO + REPLICATE( FUN_DO, 1840 / LEN( FUN_DO ) ), 1, 1840 )
FOR CONTAR=0 TO 24
@ CONTAR, 00 SAY SUBSTR( FUN_DO, CONTAR * 80 - 79, 80 )
NEXT
SETCOLOR("W/B")
@ 05,05 CLEAR TO 15,33
SOMBRA2(05,05,15,33)
@ 05,42 CLEAR TO 15,70
DBGSHADOW(05,42,15,70)
FUNCTION SOMBRA2(LS,CS,LI,CI)
COL=SAVESCREEN(LS-1,CS-1,LI-1,CS-1)
LIN=SAVESCREEN(LS-1,CS-1,LS-1,CI-1)
FOR I = 2 TO LEN(COL) STEP 2
COL=STUFF(COL,I,1,CHR(8))
NEXT
FOR I = 2 TO LEN(LIN) STEP 2
LIN=STUFF(LIN,I,1,CHR(8))
NEXT
RESTSCREEN(LS-1,CS-1,LI-1,CS-1,COL)
RESTSCREEN(LS-1,CS-1,LS-1,CI-1,LIN)
RETURN
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.
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.
Re: Como fazer sombra "transparente" como a do Edit do Ms-Dos?
A função DBGShadow() não é não-documentada. Ela apenas foi omitida do NG, provavelmente por falha no processo de documentação. Ela até aparece na lista de palavras reservadas.
[]'s
Maligno
---
Não respondo questões técnicas através de MP ou eMail. Não insista.
As dúvidas devem ser postadas no fórum. Desta forma, todos poderão
se beneficiar das respostas.
---
Se um dia precisar de uma transfusão de sangue você perceberá como
é importante a figura do doador. Procure o hemocentro de sua cidade e
se informe sobre a doação de sangue, plaquetas e medula óssea. Doe!
Maligno
---
Não respondo questões técnicas através de MP ou eMail. Não insista.
As dúvidas devem ser postadas no fórum. Desta forma, todos poderão
se beneficiar das respostas.
---
Se um dia precisar de uma transfusão de sangue você perceberá como
é importante a figura do doador. Procure o hemocentro de sua cidade e
se informe sobre a doação de sangue, plaquetas e medula óssea. Doe!
- Pablo César
- Usuário Nível 7

- Mensagens: 5312
- Registrado em: 31 Mai 2006 10:22
- Localização: Curitiba - Paraná
Re: Como fazer sombra "transparente" como a do Edit do Ms-Dos?
Será ?. Na internet esta função como a DISPOUTAT() são mencionadas por vários autores e todos mencionam como não documentadas. Mesmo sendo mencionadas no reserved.ch. Eu por exemplo não tenho lido nada em livros sobre essas funções, portanto eu também deveria considerá-las como non-documented functions.Maligno escreveu:A função DBGShadow() não é não-documentada. Ela apenas foi omitida do NG, provavelmente por falha no processo de documentação.
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.
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.
Há uma diferença entre objeto não documentado por falha e não documentado por conveniência. As funções DBGShadow() e __xdo() são dois exemplos. A primeira não apareceu provavelmente por falha do documentador. A segunda por conveniência ou precaução (sabe-se lá) do fabricante. Sem falar dos ponteiros internos que variam de versão pra versão. Não seria prudente publicar algo que seria restrito.
Mas é como eu disse: isso não tem lá muita importância. O fato concreto é que elas não constam na documentação.
Mas é como eu disse: isso não tem lá muita importância. O fato concreto é que elas não constam na documentação.
[]'s
Maligno
---
Não respondo questões técnicas através de MP ou eMail. Não insista.
As dúvidas devem ser postadas no fórum. Desta forma, todos poderão
se beneficiar das respostas.
---
Se um dia precisar de uma transfusão de sangue você perceberá como
é importante a figura do doador. Procure o hemocentro de sua cidade e
se informe sobre a doação de sangue, plaquetas e medula óssea. Doe!
Maligno
---
Não respondo questões técnicas através de MP ou eMail. Não insista.
As dúvidas devem ser postadas no fórum. Desta forma, todos poderão
se beneficiar das respostas.
---
Se um dia precisar de uma transfusão de sangue você perceberá como
é importante a figura do doador. Procure o hemocentro de sua cidade e
se informe sobre a doação de sangue, plaquetas e medula óssea. Doe!
-
Manuel Luis Modernel
- Usuário Nível 2

- Mensagens: 66
- Registrado em: 02 Mar 2008 20:40
- Localização: São José do Rio Preto - SP
Re: Como fazer sombra "transparente" como a do Edit do Ms-Dos?
Boa Noite amigos !
Gostaria de saber o que VC´s chamam de "Sombra Transparente" , abri o Edit do Dos e nos menus encontrei "titulos" que mudam de cor no texto e na cor do fundo.
è isto mesmo
?, Mudar a cor para aparentar "desabilitado" ?? Mudar fundo e texto ficando tipo "desbotado" ??
Se for isto, eu fazia com uma linha só, assim:
set color to n/w+ (Isto dá fundo cinza claro com letras cinza escuro)
Gostaria de saber o que VC´s chamam de "Sombra Transparente" , abri o Edit do Dos e nos menus encontrei "titulos" que mudam de cor no texto e na cor do fundo.
è isto mesmo
Se for isto, eu fazia com uma linha só, assim:
set color to n/w+ (Isto dá fundo cinza claro com letras cinza escuro)
OI Aqui é o Veio Modernel
Não é isso, Modernel. O colega está se referindo àquela sombra em torno das janelas.
[]'s
Maligno
---
Não respondo questões técnicas através de MP ou eMail. Não insista.
As dúvidas devem ser postadas no fórum. Desta forma, todos poderão
se beneficiar das respostas.
---
Se um dia precisar de uma transfusão de sangue você perceberá como
é importante a figura do doador. Procure o hemocentro de sua cidade e
se informe sobre a doação de sangue, plaquetas e medula óssea. Doe!
Maligno
---
Não respondo questões técnicas através de MP ou eMail. Não insista.
As dúvidas devem ser postadas no fórum. Desta forma, todos poderão
se beneficiar das respostas.
---
Se um dia precisar de uma transfusão de sangue você perceberá como
é importante a figura do doador. Procure o hemocentro de sua cidade e
se informe sobre a doação de sangue, plaquetas e medula óssea. Doe!
-
Manuel Luis Modernel
- Usuário Nível 2

- Mensagens: 66
- Registrado em: 02 Mar 2008 20:40
- Localização: São José do Rio Preto - SP
Re: Como fazer sombra "transparente" como a do Edit do Ms-Dos?
Oi Maligno, obrigado !
Agora prestei mais atenção e me localizei "na tar" de sombra transparente, e a dizer verdade nunca tinha reparado nela, já fiz sombras em janelas POP-UP, mais nunca vi se eram ou não transparentes, probavelmente NÃO.
Eu limpava uma area "deslocada de um caracter para abaixo e para direita" com o Clear to e depois desenhava a janela de menús por cima, sobrando a parte da sombra.
Achei bacana o efeito transparente, vou tentar fazer no meu velho Summer !
Agora prestei mais atenção e me localizei "na tar" de sombra transparente, e a dizer verdade nunca tinha reparado nela, já fiz sombras em janelas POP-UP, mais nunca vi se eram ou não transparentes, probavelmente NÃO.
Eu limpava uma area "deslocada de um caracter para abaixo e para direita" com o Clear to e depois desenhava a janela de menús por cima, sobrando a parte da sombra.
Achei bacana o efeito transparente, vou tentar fazer no meu velho Summer !
OI Aqui é o Veio Modernel
-
labaroazul
- Usuário Nível 2

- Mensagens: 83
- Registrado em: 26 Fev 2008 14:52
- Localização: São Paulo - SP
- Contato:
Re: Como fazer sombra "transparente" como a do Edit do Ms-Dos?
Valeu gente!
)
Usando a função DBGShadow() consegui o efeito que queria: o que chamei de "sombra transparente" mostrando o conteúdo abaixo da sombra com cores invertidas!
Meus menus e caixas ficaram muito bons com isso!
) :{
Obrigado!! :{
Usando a função DBGShadow() consegui o efeito que queria: o que chamei de "sombra transparente" mostrando o conteúdo abaixo da sombra com cores invertidas!
Meus menus e caixas ficaram muito bons com isso!
Obrigado!! :{
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
"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

