SAY

User avatar
Antonio Linares
Site Admin
Posts: 37481
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Contact:

Post by Antonio Linares »

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
User avatar
wmormar
Posts: 1050
Joined: Fri Oct 07, 2005 10:41 pm
Location: México
Contact:

Post by wmormar »

Antonio,

quedaremos a la espera de rossine
William, Morales
Saludos

méxico.sureste
Rossine
Posts: 343
Joined: Tue Oct 11, 2005 11:33 am

Post by Rossine »

Olá Antonio,
nWidth = GetTextWidth( 0, ::cCaption, If( ::oFont != nil, ::oFont: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.

xHarbour comercial (xAcc) -> Testando harbour + bcc / msvc
fwh 9.05
Windows XP SP2
User avatar
Antonio Linares
Site Admin
Posts: 37481
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Contact:

Post by Antonio Linares »

Rossine,

Prueba a usar un valor mayor que 20, gracias
regards, saludos

Antonio Linares
www.fivetechsoft.com
Rossine
Posts: 343
Joined: Tue Oct 11, 2005 11:33 am

Post by Rossine »

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.

xHarbour comercial (xAcc) -> Testando harbour + bcc / msvc
fwh 9.05
Windows XP SP2
Rossine
Posts: 343
Joined: Tue Oct 11, 2005 11:33 am

Post by Rossine »

Olá Antonio,

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

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

Assim:

Code: Select all

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.

xHarbour comercial (xAcc) -> Testando harbour + bcc / msvc
fwh 9.05
Windows XP SP2
User avatar
Antonio Linares
Site Admin
Posts: 37481
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Contact:

Post by Antonio Linares »

Rossine,

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

Antonio Linares
www.fivetechsoft.com
Post Reply