Problema con transparencias en control SAY desde código

Problema con transparencias en control SAY desde código

Postby gsabattino » Fri Oct 12, 2018 3:15 pm

Saludos a todos los colegas del Foro...

Les traigo un caso que se me está presentando con la transparencia en un control SAY creado desde código y que está dentro de un control GROUP que también tiene la cláusula de transparencia...
Image

como pueden ver cuando actualizo el contenido del control por medio del método oSay:SetText() no borra lo anterior sino que monta el contenido nuevo encima del anterior...

El código es este:
Code: Select all  Expand view

@ nRow+24, nCol   SAY       ::oSayDMater  VAR cSayDMater;
                  OF        ::oGrpMater;
                  CENTERED  ;
                  SIZE      314, 14;
                  PIXEL     ;
                  FONT      oControl:oFontAr12;
                  TRANSPARENT
 

Inclusive, mandando a rellenar con espacios antes de colocar el dato nuevo, no hay ninguna diferencia en el resultado...
oSay:SetText( space( 120 ) )
oSay:SetText( cSayDMater )

si le quito la clausula de transparencia al control SAY si funciona como se espera (sustituyendo el nuevo dato por el anterior), pero se ve un recuadro que echa a perder la estética...
Image

me he devanado los sesos buscando dentro de las clase Windows, Control, etc, algo que me ayude a encontrar una solucion pero hasta el momento no he tenido exito...

Será que alguien acá ha pasado por una situación similar y tiene el problema resuelto???
Agradezco de antemano cualquier comentario que me ayude.

Giancarlo Sabattino
Valencia - Venezuela

FW1312/xHarbour 1.2001/BCC5.51
User avatar
gsabattino
 
Posts: 102
Joined: Fri Oct 14, 2005 12:03 am
Location: Valencia, Venezuela

Re: Problema con transparencias en control SAY desde código

Postby nageswaragunupudi » Fri Oct 12, 2018 7:09 pm

I tried to reproduce your problem, but I could not. For me everything is working correctly.
This is the program I used for testing.
Code: Select all  Expand view
#include "fivewin.ch"

function Main()

   local oDlg, oFont, oGrp, oSay, aClr
   local aText := { "Short Text", "This is a longer text than the first" }
   local nText := 1

   DEFINE FONT oFont NAME "TAHOMA" SIZE 0,-20
   DEFINE DIALOG oDlg SIZE 450, 150 PIXEL TRUEPIXEL FONT oFont COLOR CLR_WHITE,CLR_GREEN

   @  40,100 GROUP oGrp TO 100,350 PIXEL OF oDlg TRANSPARENT

   @  60,120 SAY oSay PROMPT aText[ nText ] SIZE 210,26 PIXEL OF oDlg CENTER TRANSPARENT

   @  50,370 BUTTON "Text" SIZE 60,50 PIXEL OF oDlg ;
      ACTION ( nText := nXor( nText, 3 ), oSay:SetText( aText[ nText ] ) )

   ACTIVATE DIALOG oDlg CENTERED
   RELEASE FONT oFont

return nil


Image

I am really interested in reproducing your problem and finding a solution for it.
Can you please modify my above sample to reproduce your problem?
Regards

G. N. Rao.
Hyderabad, India
User avatar
nageswaragunupudi
 
Posts: 10632
Joined: Sun Nov 19, 2006 5:22 am
Location: India


Return to FiveWin for Harbour/xHarbour

Who is online

Users browsing this forum: nageswaragunupudi and 75 guests