BTNBMP design ?

BTNBMP design ?

Postby FWHISHOW » Wed Dec 12, 2007 12:38 pm

Antonio, a classe BTNBMP não conta com a opção DESIGN?


Obrigado
FWHISHOW
 
Posts: 80
Joined: Thu Nov 29, 2007 2:01 pm

Postby Antonio Linares » Wed Dec 12, 2007 1:07 pm

oBtnBmp:lDrag := .T.
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
Antonio Linares
Site Admin
 
Posts: 42160
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain

Postby FWHISHOW » Wed Dec 12, 2007 1:11 pm

Grato Antonio
FWHISHOW
 
Posts: 80
Joined: Thu Nov 29, 2007 2:01 pm

Postby FWHISHOW » Wed Dec 12, 2007 1:27 pm

Antonio, é possível executar uma ação em um objeto SAY (design) depois de clicar sobre o mesmo e arrastar, ou seja, ao soltar o botão do mouse?


Acontece que tenho que dar um refresh no objeto depois de arrastar!



Obrigado
FWHISHOW
 
Posts: 80
Joined: Thu Nov 29, 2007 2:01 pm

Postby Antonio Linares » Wed Dec 12, 2007 1:59 pm

Prueba a usar oSay:bLButtonUp = { || ... }
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
Antonio Linares
Site Admin
 
Posts: 42160
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain

Postby FWHISHOW » Wed Dec 12, 2007 4:02 pm

Obrigado Antonio, mais não funcionou!


for i:=1 to len(PoBtc)
@ lin,col say PoBtc[i] OF oWndp DESIGN PIXEL SIZE 100,20 BORDER
PoBtc[i]:bLButtonUp = { || PoBtc[i]:refresh(),msg("aqui") }
next


Grato
FWHISHOW
 
Posts: 80
Joined: Thu Nov 29, 2007 2:01 pm

Postby Antonio Linares » Wed Dec 12, 2007 7:12 pm

Asi no lo puedes hacer. Tienes que usar "detached locals":
Code: Select all  Expand view  RUN
for i:=1 to len(PoBtc)
   @ lin,col say PoBtc[i] OF oWndp DESIGN PIXEL SIZE 100,20 BORDER
   PoBtc[i]:bLButtonUp = GenBlock( PoBtc, i )
next
...
static function GenBlock( PoBtc, i )

return { || PoBtc[ i ]:Refresh(), MsgInfo( "aqui" ) }
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
Antonio Linares
Site Admin
 
Posts: 42160
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain

Postby FWHISHOW » Wed Dec 12, 2007 7:40 pm

desculpe Antonio mais também não funciona!

Obrigado
FWHISHOW
 
Posts: 80
Joined: Thu Nov 29, 2007 2:01 pm

Postby Antonio Linares » Wed Dec 12, 2007 9:19 pm

Pruébalo así:
Code: Select all  Expand view  RUN
for i:=1 to len(PoBtc)
   @ lin,col say PoBtc[i] PROMPT "say" OF oWndp DESIGN PIXEL SIZE 100,20 BORDER
   PoBtc[i]:bLButtonUp = GenBlock( PoBtc, i )
   PoBtc[i]:lWantClick = .T.
next
...
static function GenBlock( PoBtc, i )

return { || PoBtc[ i ]:Refresh(), MsgInfo( "aqui" ) }
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
Antonio Linares
Site Admin
 
Posts: 42160
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain

Postby FWHISHOW » Thu Dec 13, 2007 10:13 am

Mais uma vez me desculpe, ainda não funciona! Acredito que seja algo com o objeto say.



Obrigado!
FWHISHOW
 
Posts: 80
Joined: Thu Nov 29, 2007 2:01 pm

Postby Antonio Linares » Thu Dec 13, 2007 10:59 am

Tienes que hacer una modificación en la Clase TControl para poder procesar bLButtonUp estando en modo diseño:
Code: Select all  Expand view  RUN
METHOD LButtonUp( nRow, nCol, nKeyFlags ) CLASS TControl
...
      if GetFocus() != ::hWnd
         SetFocus( ::hWnd )
      endif
      if ! Empty( ::bLButtonUp )  // Nuevo!
         Eval( ::bLButtonUp, nRow, nCol, nKeyFlags, Self )  // Nuevo!
      endif  // Nuevo!
      return 0
...
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
Antonio Linares
Site Admin
 
Posts: 42160
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain

Postby FWHISHOW » Thu Dec 13, 2007 12:02 pm

Perfeito Antonio... Funcionou perfeitamente!

Estas correções já estão na nova versão do FW?

Muito Obrigado!
FWHISHOW
 
Posts: 80
Joined: Thu Nov 29, 2007 2:01 pm

Postby Rossine » Sat Dec 15, 2007 3:24 pm

Olá Antonio,

No meu caso, uso assim e funciona perfeitamente.

Code: Select all  Expand view  RUN
...
      if GetFocus() != ::hWnd
         SetFocus( ::hWnd )
      endif
**      return 0  <<-- Tirar esta linha
endif

return Super:LButtonUp( nRow, nCol, nKeyFlags )


Isto estaria correto também ?

Abraços,

Rossine.
Rossine
 
Posts: 344
Joined: Tue Oct 11, 2005 11:33 am

Postby Antonio Linares » Sat Dec 15, 2007 4:08 pm

Rossine,

> Isto estaria correto também ?

No, porque en la Clase TWindow se vuelve a evaluar.

Por eso hay que usar return 0, para que no se llame a Super:LButtonUp
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
Antonio Linares
Site Admin
 
Posts: 42160
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain

Postby Rossine » Sat Dec 15, 2007 6:15 pm

OK Antonio :)

Obrigado pela explicação.

Rossine.
Rossine
 
Posts: 344
Joined: Tue Oct 11, 2005 11:33 am


Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: Google [Bot] and 48 guests