Page 1 of 1

Correção para SSAY.PRG

Posted: Wed Mar 22, 2006 3:30 pm
by Rossine
Olá pessoal,

Eu estava tendo um problema aqui o seguinte: Ao exibir uma DIALOG na tela, se o mouse estivesse posicionado sobre um texto definido com a classe SSAY , este texto era impresso também na tela de trás. O que fiz para solucionar o problema foi o seguinte:

Code: Select all

...
METHOD Paint() CLASS TSSay

   local n 
   local nColorShadow, nColorLight

   DEFAULT ::lSTransparent := .f.

   if !IsWindowEnabled( ::hWnd )  && By Rossine
      return nil
   endif
...
Por favor, confirmem se isto também funciona para vocês, ok ?

Abraços,

Rossine.

Posted: Tue Sep 25, 2007 8:18 pm
by AOKISANTOS
Rossine meu amigo, aconteceu comigo o problema de estar em uma dialog, e do nada borrar a window do fundo, fiz isso e aparentemente resolveu:

METHOD Paint() CLASS TSSay

local n
local nColorShadow, nColorLight

if !IsWindowEnabled( ::hWnd ) && By Rossine
return nil
endif

::GetDC()

if ::lActive

for n := 1 to len( ::aCaption )
WSay( ::hWnd, ::hDC, ::nSTop + ( n - 1 ) * ::nTxtHeight, ::nSLeft, ::aCaption[ n ],;
If( ::lOver, ::nClrOver, ::nClrText ),,;
If( ::oFont != nil, ::oFont:hFont, 0 ), .T., .T., ::nAlign )
next

if ::lDrawBox
::DrawBox( ::lOver )
endif

else

nColorShadow := GetSysColor( COLOR_BTNSHADOW )
nColorLight := GetSysColor( COLOR_BTNHIGHLIGHT )

for n := 1 to len( ::aCaption )
WSay( ::hWnd, ::hDC, ::nSTop + ( n - 1 ) * ::nTxtHeight + 1, ::nSLeft + 1, ::aCaption[ n ], nColorLight,,;
If( ::oFont != nil, ::oFont:hFont, 0 ), .T., .T., ::nAlign )
WSay( ::hWnd, ::hDC, ::nSTop + ( n - 1 ) * ::nTxtHeight, ::nSLeft, ::aCaption[ n ], nColorShadow,,;
If( ::oFont != nil, ::oFont:hFont, 0 ), .T., .T., ::nAlign )
next

endif

// 3D

if ::lShaded
WndInset( ::hWnd, ::hDC ) // SHADED, SHADOW
endif

if ::lRaised
WndRaised( ::hWnd, ::hDC ) // RAISED
endif

if ::lBox
WndBoxIn( ::hDC, 0, 0, ::nBottom-::nTop, ::nRight-::nLeft )
WndBoxRaised( ::hDC, 1, 1, ::nBottom-::nTop-1, ::nRight-::nLeft-1 )
endif

::ReleaseDC()

if ::lTransparent
SysRefresh()
endif

return nil



Grato

Aoki

Posted: Tue Sep 25, 2007 8:23 pm
by QAZWSX2K
yo tengo solo una pregunta y a riesgo de padecer pedante no lo es, solo que me de una razon, porque si yo hablo español, hago mis preguntas en el foro español, porque los amigos do brasil no hacen sus pregunta en portuguese en el foro portuguese, porque total, uno ni entiende que pregunta, osea, me pregunto, es como si me pusiera yo a preguntar en el foro en italiano, disculpe si alguien le pueda caer mal esta inquietud

Posted: Tue Sep 25, 2007 8:34 pm
by karinha
QAZWSX2K wrote:yo tengo solo una pregunta y a riesgo de padecer pedante no lo es, solo que me de una razon, porque si yo hablo español, hago mis preguntas en el foro español, porque los amigos do brasil no hacen sus pregunta en portuguese en el foro portuguese, porque total, uno ni entiende que pregunta, osea, me pregunto, es como si me pusiera yo a preguntar en el foro en italiano, disculpe si alguien le pueda caer mal esta inquietud
jejejejeje.

Las veces, el nivel de las personas de este foro és major, que de las personas del Brasil. Creo, que és tu caso. No te custa dividir un poco, custa?

Y acá, está el major de todos: ANTONIO LINARES, creador del MARABILLOSO FIVEWIN the best!

Regards, saludos. jejejejejejeje.

Posted: Wed Sep 26, 2007 6:42 am
by Antonio Linares
Rossine,

Pero entonces no dibujas el SAY si esta deshabilitado ?

Posted: Wed Sep 26, 2007 12:33 pm
by karinha
Rossine Friend, Puedes Colocar una imagen? No tengo este erro.

Posted: Thu Sep 27, 2007 4:59 pm
by Rossine
Olá a todos,

Desculpem-me mas tem muito tempo que postei este possível problema e não me lembro mais o que achei de errado na época :oops:

Abraços,

Rossine.