FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour SAY
Posts: 44158
Joined: Thu Oct 06, 2005 05:47 PM
SAY
Posted: Sat Sep 27, 2008 06:25 AM

William,

Si, esa sería una buena solución, pero primero necesitamos obtener más información (veamos que nos comenta Rossine) y mi duda es por que GetTextWidth() no devuelve el ancho correcto ?

regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 1076
Joined: Fri Oct 07, 2005 10:41 PM
SAY
Posted: Sat Sep 27, 2008 06:32 AM

Antonio,

quedaremos a la espera de rossine

William, Morales

Saludos



méxico.sureste
Posts: 344
Joined: Tue Oct 11, 2005 11:33 AM
SAY
Posted: Sat Sep 27, 2008 02:04 PM
Olá Antonio,


nWidth = GetTextWidth( 0, ::cCaption, If( ::oFont != nil, ::hFont,) ) + 20


Mesmo assim o texto continua sumindo na dialog :-)

Obs: Somente depois de "oSay:refresh()" é que o texto fica certo, ou seja, ele é quebrado para a 2ª linha.

Mais alguma sugestão ?

Gracias,

Rossine.
Obrigado, Regards, Saludos



Rossine.



Harbour and Harbour++
Posts: 44158
Joined: Thu Oct 06, 2005 05:47 PM
SAY
Posted: Sat Sep 27, 2008 07:11 PM

Rossine,

Prueba a usar un valor mayor que 20, gracias

regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 344
Joined: Tue Oct 11, 2005 11:33 AM
SAY
Posted: Mon Sep 29, 2008 02:33 PM

Olá Antonio,

Quando uso valores positivos, não funciona, mas se uso valores negativos, (-20), quando é executado pela primeira vez , o texto não é quebrado, mas após o "refresh()", funciona corretamente.

O problema só acontece quando usso assim: "define dialog ...... TRANSPARENT"

Gracias,

Rossine.

Obrigado, Regards, Saludos



Rossine.



Harbour and Harbour++
Posts: 344
Joined: Tue Oct 11, 2005 11:33 AM
SAY
Posted: Thu Oct 16, 2008 12:56 PM
Olá Antonio,

Vendo este link : http://67.222.39.232/forums/viewtopic.php?t=13129

Comentei "fixsays()" em TDialog e "TRANSPARENT" funcionou :-)

Assim:

METHOD Initiate( hWndFocus, hWnd ) CLASS TDialog

   local lFocus := .t., lResult, hCtrl, lEnd := .f., aRect

...

   if ::lTransparent
*      FixSays( ::hWnd )  <<- Tirei esta linha
      AEval( ::aControls,;
             { | o | If( ! Upper( o:ClassName() ) $ ;
             "TGET;TMULTIGET;TBTNBMP;TCOMBOBOX;TWBROWSE;TCBROWSE;TXBROWSE;TLISTBOX",;
                         o:lTransparent := .t.,) } )
   endif   
...


Isto pode ficar assim, ou "Fixsays" está com problema ?
Obrigado, Regards, Saludos



Rossine.



Harbour and Harbour++
Posts: 44158
Joined: Thu Oct 06, 2005 05:47 PM
SAY
Posted: Thu Oct 16, 2008 04:50 PM

Rossine,

FixSays() cambia el procedimiento de ventana para todos los SAYs, aunque no esten redefinidos.

regards, saludos

Antonio Linares
www.fivetechsoft.com

Continue the discussion