Imagem Desaparece com gtwvw
WVW_DrawBoxGet()
WVW_DrawBoxRaised()
WVW_DrawBoxRecessed()
WVW_DrawBoxGroup()
WVW_DrawImage()
WVW_DrawLabel()
Porem não sei como fazer isto, se alguem pouder passar estas informacoes ficarei grato.
Código: Selecionar todos
rstobj(wvw_nnumwindows()-1)
addobj(wvw_nnumwindows()-1,{|j|wvw_drawimage(j,00,00,04,99,"SuaImagem.jpg",.t.)})
Código: Selecionar todos
//////////////////////////////////////////////////////////////////
FUNCTION main()
//////////////////////////////////////////////////////////////////
setcolor("N/W")
wvw_Paint( 0 )
wvw_nOpenWindow("Win2",10,10,19,69)
wvw_Paint( 1 )
wvw_nOpenWindow("Win3",15,15,19,69)
wvw_Paint( 2 )
do while inkey(0)<>27
enddo
wvw_lCloseWindow()
do while inkey(0)<>27
enddo
wvw_lCloseWindow()
do while inkey(0)<>27
enddo
return
///////////////////////////////
function wvw_Paint( nWinNum )
///////////////////////////////
do case
case nWinNum == 0
wvw_DrawLabel( nWinNum, 0, 0, "Win1", , , , , "Arial", 20, 18, , , , .f., .f., .f. )
case nWinNum == 1
wvw_DrawLabel( nWinNum, 0, 0, "Win2", , , , , "Arial", 20, 18, , , , .f., .f., .f. )
case nWinNum == 2
wvw_DrawLabel( nWinNum, 0, 0, "Win3", , , , , "Arial", 20, 18, , , , .f., .f., .f. )
endcase
return 0Código: Selecionar todos
rstobj(wvw_nnumwindows()-1)
addobj(wvw_nnumwindows()-1,{|j|wvw_drawimage(j,00,00,04,99,"SuaImagem.jpg",.t.)})Código: Selecionar todos
******************************
FUNCTION WVW_Paint( nWinNum )
******************************
if len(p_aListObjects) >= nWinNum+1
aeval( p_aListObjects[nWinNum+1], {|e| eval( e, nWinNum )} )
endif
RETURN 0
***********************************
function ResetObjects( nWinNum )
***********************************
default nWinNum to WVW_nNumWindows()-1
do while len(p_aListObjects) < nWinNum+1
aadd( p_aListobjects, {} )
enddo
p_aListObjects[ nWinNum+1 ] := {}
return .t.
*********************************************
function AddObjects( nWinNum, bAction )
*********************************************
aadd( p_aListObjects[ nWinNum+1 ], bAction )
return .t
Código: Selecionar todos
AddObjects(p_alistobjects,{|nWind|wvw_drawimage(nWind,...)})
Código: Selecionar todos
*****************************
FUNCTION WVW_Paint( nWinNum )
*****************************
Local i_P:=0
If Len( p_aListObjects ) >= nWinNum+1 .And. nWinNum > 0
aeval( p_aListObjects[nWinNum+1], {|e| eval( e, nWinNum )} )
EndIf
Return 0
********************************
FUNCTION ResetObjects( nWinNum ) //esta correta com o exemplo wvwtest9
********************************
while len( p_aListObjects ) < nWinNum+1
aadd( p_aListObjects, {} )
enddo
p_aListObjects[ nWinNum+1 ] := {}
RETURN .T.
//
// FUNCAO : AddObjects()
// PARAMETROS : nWindow - N§ da janela para indentificacao
// bAction - Codigo de bloco com a acao a ser realizada quando a
// janela voltar de ser minimizada ou voltar ao foco
// DESCRICAO : Guarda para cada janela as acoes que serao realizadas quando a
// a janela voltar ao foco ou voltar de ser minimizada
// RETORNO :
//
***************************************
FUNCTION AddObjects( nWinNum, bAction) //esta correta com o exemplo wvwtest9
//nWinNum = janela atual ncurwindow
//bAction = função a ser executada wvw_
//bnameObj = nome do objeto
***************************************
aadd( p_aListObjects[ nWinNum+1 ], bAction)
RETURN bAction
Código: Selecionar todos
Function NewMostraValor(aLucro,aCusto,aQteReal,aVrVenda,aDesconto,aVenda)
Local WReg:=RecNo(),aB:=0,xCom:=0
wVrCusto:=wM_LUCRO:=wVrTotal:=LValorC:=LValorCB:=LValorVV:=LValorBV:=LValorVB:=LValorBB:=w_ITENS:=w_COM:=w_COMb:=0 //zerar os valores para somar novamente
DbGoTop()
While !Eof()
w_ITENS++
If Left(COD_MERC,2)#"99"
aB:=(((Round(&aVenda.,3)/&aQteReal)/&aCusto.)-1)*100
xValorBB:=Round(&aVrVenda.,3)*100/(100-&aDesconto.)
xCom :=Round(&aVrVenda.*(COMISSAO/100),2)
If ChecaBasico(aB)
LValorBB:=Round(LValorBB+If(TIPO=="V",xValorBB,-xValorBB),3)
LValorVB:=Round(LValorVB+If(TIPO=="V",&aVrVenda.,-(&aVrVenda.)),3)
w_COMb :=Round(w_COMb+If(TIPO=="V",xCom,-(xCom)),2)
w_COM :=Round(w_COM +If(TIPO=="V",xCom,-(xCom)),2)
LValorCB:=If(TIPO=="V",Round(LValorCB+(&aQteReal.*&aCusto.),3),Round(LValorCB-(&aQteReal.*&aCusto.),3))
Else
LValorBV:=Round(LValorBV+If(TIPO=="V",xValorBB,-xValorBB),3)
LValorVV:=Round(LValorVV+If(TIPO=="V",&aVrVenda.,-(&aVrVenda.)),3)
w_COM :=Round(w_COM+If(TIPO=="V",xCom,-(xCom)),2)
EndIf
LValorC:=If(TIPO=="V",Round(LValorC+(&aQteReal.*&aCusto.),3),Round(LValorC-(&aQteReal.*&aCusto.),3))
EndIf
wVrTotal:=wVrTotal+If(TIPO=="V",(&aVrVenda.),-(&aVrVenda.))
p_DV:=If(TIPO=="D",TIPO,p_DV)
DbSkip(1)
End
DbGoTop()
wVrCusto :=LValorC
w_BASICO :=Round(If(LValorVB+LValorBB#0,100-((LValorVB/LValorBB)*100),0),4)
w_BASICON :=Round(If(LValorVV+LValorBV#0,100-((LValorVV/LValorBV)*100),0),4)
w_MARGEM :=Round(((wVrTotal-LValorC)*100)/wVrTotal,3)
w_MLUCRO :=Round(((wVrTotal/LValorC)*100)-100,2)
If w_CShow=.T.
NewShowLabel(jR-4,02,MV_C(w_MLUCRO,7) ,"ESQUERDA","PRETO" ,24,10,jR-4,08,If(w_MARGEM<wE_LM,p_CR,If(w_MARGEM>wE_LM,p_CB,p_CM)))
NewShowLabel(jR-4,10,MV_C(wVrCUSTO,10) ,"ESQUERDA","VERMELHO",24,10,jR-4,20,"AMARELO")
NewShowLabel(jR-4,21,TransForm(w_MARGEM,"@E 999.999%"),"ESQUERDA","PRETO" ,24,10,jR-4,29,If(w_MARGEM<wE_LM,p_CR,If(w_MARGEM>wE_LM,p_CB,p_CM)))
NewShowLabel(jR-4,30,TransForm(w_COM ,"@E 9999.99") ,"ESQUERDA","AZUL" ,24,10,jR-4,35,"AMARELO")
Else
NewShowLabel(jR-4,02,Space(35),"ESQUERDA","AZUL" ,24,10,jR-4,36,"AMARELO")
EndIf
NewShowLabel(jR-4,38,TransForm(w_ITENS ,"@E 9999") ,"ESQUERDA","AZUL" ,24,10,jR-4,41,"AMARELO")
NewShowLabel(jR-4,43,TransForm(w_BASICO ,"@E 9999.9999%"),"ESQUERDA","VERMELHO",24,10,jR-4,52,"AMARELO")
NewShowLabel(jR-4,54,TransForm(w_BASICON,"@E 9999.9999%"),"ESQUERDA","VERMELHO",24,10,jR-4,63,"AMARELO")
NewShowLabel(jR-4,jC-14,TransForm(Round(wVrTotal,2),"@E 999,999,999.99"),"ESQUERDA",If(wVrTotal<0,"VERMELHO","VERDE"),24,10,jR-4,jC-2,"AMARELO")
Código: Selecionar todos
public meusobjetos := {}Código: Selecionar todos
Function addmeusobj(qvetobj)
aadd(meusobjetos,qvetobj)
executaobjetos(len(meusobjetos))
return nilCódigo: Selecionar todos
//--->
Function executaobjetos(qual)
do case
case upper(meusobjetos[qual,2]) == 'WVW_DRAWBOXRAISED'
wvw_drawboxraised(meusobjetos[qual,3],meusobjetos[qual,4],meusobjetos[qual,5],meusobjetos[qual,6],meusobjetos[qual,7])
case upper(meusobjetos[qual,2]) == 'WVW_DRAWIMAGE'
wvw_drawimage(meusobjetos[qual,3],meusobjetos[qual,4],meusobjetos[qual,5],meusobjetos[qual,6],meusobjetos[qual,7],meusobjetos[qual,8])
case upper(meusobjetos[qual,2]) == 'WVW_DRAWLABEL'
wvw_drawlabel(meusobjetos[qual,3],meusobjetos[qual,4],meusobjetos[qual,5],meusobjetos[qual,6],meusobjetos[qual,7],meusobjetos[qual,8],meusobjetos[qual,9],meusobjetos[qual,10],meusobjetos[qual,11],meusobjetos[qual,12],meusobjetos[qual,13],meusobjetos[qual,14] )
endc
return nil
Código: Selecionar todos
//--->
Function wvw_paint(minhajanela)
local ctvetor := 1
while ctvetor <= len(meusobjetos)
executaobjetos(ctvetor)
ctvetor++
endCódigo: Selecionar todos
//--->
Function delemeusobj(o_q)
local ct_vetor := 1
local aonde
if ! '$' $ o_q
while AScan( meusobjetos, {|a| Upper(a[1]) == upper(o_q) } ) > 0
aonde := AScan( meusobjetos, {|a| Upper(a[1]) == upper(o_q) } )
meusobjetos := deletavetor(meusobjetos,aonde)
end
else
o_q := subs(o_q,2)
while AScan( meusobjetos, {|a| upper(o_q) $ Upper(a[1]) } ) > 0
aonde := AScan( meusobjetos, {|a| Upper(a[1]) == upper(o_q) } )
meusobjetos := deletavetor(meusobjetos,aonde)
end
end
return nilCódigo: Selecionar todos
addmeusobj({'telagetsys','wvw_drawimage',nil,__ab,__ac+__af,__ab+1,__ac+__af+2,7})
addmeusobj({'telacompra','wvw_drawimage',1,14,26,16,29,4}) //enter
addmeusobj({'telacompra','wvw_drawimage',1,14,33,16,40,5}) //esc
addmeusobj('WVW_DrawBoxRaised( , hwgui_li+1,hwgui_ci+1,hwgui_lf-1,hwgui_cf-1 )')
Código: Selecionar todos
delemeusobj('dbedit-'+procname())
delemeusobj('telacompra')
Código: Selecionar todos
function deletavetor(vetor_del,n_position)
local __antigo := {}
local ct_vetor := 1
while ct_vetor <= len(vetor_del)
if ct_vetor == n_position
ct_vetor++
loop
end
aadd(__antigo,vetor_del[ct_vetor])
ct_vetor++
end
retu __antigoCódigo: Selecionar todos
addmeusobj('WVW_DrawBoxRaised( , hwgui_li+1,hwgui_ci+1,hwgui_lf-1,hwgui_cf-1 )')Código: Selecionar todos
addmeusobj({'telacompra','wvw_drawimage',1,14,26,16,29,4}) //enter
addmeusobj({'telacompra','wvw_drawimage',1,14,33,16,40,5}) //esc
Código: Selecionar todos
delemeusobj('telacompra')
no meu caso eu faria:se algum objeto valor que é atualizado ele não desenha mais o valor antigo apenas o ultimo valor?
Código: Selecionar todos
addmeusobj({'valorprint','WVW_DRAWLABEL' , 1,07,04,ltrim(transform(valor,@EZ 999,99')),nil ,nil , RGB(0,0,255),RGB(200,200,200),"Verdana",30,10,700 } )
Código: Selecionar todos
delemeusobj('valorprin')
addmeusobj({'valorprint','WVW_DRAWLABEL' , 1,07,04,ltrim(transform(valor,@EZ 999,99')),nil ,nil , RGB(0,0,255),RGB(200,200,200),"Verdana",30,10,700 } )
Código: Selecionar todos
//Original
FUNCTION AddObjects( nWinNum, bAction) //esta correta com o exemplo wvwtest9
//nWinNum = janela atual ncurwindow
//bAction = função a ser executada wvw_
aadd( p_aListObjects[ nWinNum+1 ], bAction)
RETURN .T.
//Modificada
FUNCTION AddObjects( nWinNum, bAction, bNameObj) //esta correta com o exemplo wvwtest9
//nWinNum = janela atual ncurwindow
//bAction = função a ser executada wvw_
//bnameObj = nome do objeto
***************************************
bNameObj:=If(bNameObj=NIl,Str(nWinNum+1,2),bNameObj)
nOk=.F.
If Len(p_aListObjects) >= 1 //só entra se tiver objetos para redesenho
iK:=1
While iK <= Len(p_aListObjects) //corre a matriz e verifica o conteudo
If Len(p_aListObjects[iK]) > 0
iK2:=1
While iK2 <= Len(p_aListObjects[iK])
If !ChkSoNumero(p_aListObjects[iK,iK2][1]) .And. !ChkSoNumero(bNameObj)
If p_aListObjects[iK,iK2][1] == bNameObj // se encontrou o objeto
p_aListObjects[ iK,iK2 ][2] := bAction //substituiu a ação
nOk:=.T. //marca que encontrou
EndIf
EndIf
iK2++
End
EndIf
iK++
End
EndIf
If nOK=.F. //se nao encontrado o objeto, cria novo
Aadd( p_aListObjects[ nWinNum+1 ] ,{bNameObj, bAction} ) //adciona a janela ao nome do objeto mais a acao
EndIf
RETURN .T.
Código: Selecionar todos
//ORIGINAL
FUNCTION WVW_Paint( nWinNum)
*****************************
If Len( p_aListObjects ) >= nWinNum+1 .And. nWinNum > 0 //ver se soluciona
aeval( p_aListObjects[nWinNum+1], {|e| eval( e, nWinNum )} )
EndIf
RETURN .T.
//MODIFICADA
FUNCTION WVW_Paint( nWinNum)
*****************************
If Len( p_aListObjects ) >= nWinNum+1 .And. nWinNum > 0 //ver se soluciona
aeval( p_aListObjects[nWinNum+1], {|e| eval( e[2], nWinNum )} )
EndIf
RETURN .T.
Código: Selecionar todos
NewShowLabel()
.....//uma parte do codigo apenas
AddObjects(nCurWindow,{|nWindow| wvw_drawlabel( nWindow,nTop,nLft,nTxt,TA_LEFT,,nFrente,nFundo,"ARIAL",nF-o_wvwFR,nL-o_wvwLR,500,PROOF_QUALITY,.T.,,)},nObj)
.....
Return .t.
Código: Selecionar todos
NewShowLabel(linha,coluna,wvrtotal,"ESQUERDA","VERMELHO",24,10,linha,coluna,"AMARELO",,"WVRTOTAL")