Page 1 of 1

DTPICKER Aberto quando ganhar foco ?

Posted: Tue Sep 30, 2008 4:21 pm
by Joao Cezar
Olá

Existe algum metodo para abrir o calendario quando o get ganhar foco ?

Exemplo:

#include "dtpicker.ch"

REDEFINE DTPICKER oCalend VAR dDataCalend ID 400 OF oDlgUser

oCalend:bGotFocus := {|| oCalend:Show() }

João Cezar - Goiânia/GO.
joao.cezar@cultura.com.br

Posted: Wed Oct 01, 2008 1:42 pm
by Antonio Linares
Tal vez pudiésemos enviarle un mensaje WM_LBUTTONDOWN como si se pulsase con el ratón para abrirlo, pero hay que calcular las coordenadas en donde hacerlo.

Posted: Wed Oct 01, 2008 1:50 pm
by Antonio Linares
Bingo! :-)

Code: Select all

   @ 2, 2 DTPICKER oDtp VAR dDate OF oWnd ON CHANGE If( oSay != nil, oSay:Refresh(),)

   oDtp:bGotFocus = { || oDtp:PostMsg( WM_LBUTTONDOWN, 0, nMakeLong( oDtp:nWidth - 5, 3 ) ) }

Posted: Wed Oct 01, 2008 1:53 pm
by Antonio Linares

Code: Select all

   METHOD Open() INLINE ::PostMsg( WM_LBUTTONDOWN, 0, nMakeLong( ::nWidth - 5, 3 ) )

Code: Select all

   @ 2, 2 DTPICKER oDtp VAR dDate OF oWnd ON CHANGE If( oSay != nil, oSay:Refresh(),)

   oDtp:bGotFocus = { || oDtp:Open(), nil }

Posted: Wed Oct 01, 2008 5:00 pm
by Joao Cezar
Gracias Maestro,

Funcionou corretamente, mas apenas abre o calendario se a ultima tecla pressionada foi a tecla TAB, se finalizo o GET anterior com ENTER o calendario não abre, teria como abrir se foi pressionado ENTER ?

João Cezar - Brasil - Goiânia/GO.
joao.cezar@cultura.com.br

Posted: Thu Oct 02, 2008 4:37 pm
by Antonio Linares
João,

Puedes mostrar un pequeño PRG aqui para que lo probemos ? gracias

Posted: Thu Oct 02, 2008 8:05 pm
by Joao Cezar
Antonio,

Me desculpe, fui fazer a prova com fwh806 e funcionou corretamente, o problema é que essa alteração eu estava fazendo em um software que é linkado com fwh2.7, pois ainda não pude alterar meus fontes para ultima versão do fwh.