Prezados,
Estou desenvolvendo uma aplicação de PDV (Ponto de Vendas), então quero
faze-la em "tela cheia". Para isso, no evento "onBeforeCreate" do form
coloco a seguinte instrução "::nBorderStyle:=bsNONE"... Até aqui, tudo bem,
funciona perfeitamente... Tenho nesse form um botão para minimizar o form
usando o metodo Minimize() do form... O esquisito e estranho acontece quando
clico na aplicação minimizada na barra de tarefas do windows e quando ela
restaura, dá uns efeitos estranhos e depois estabiliza... Estou fazendo isso
no windows 7, e o que eu esperava é que a tela se restaurasse normalmente,
como se restaura qualquer aplicação no windows 7, onde dá aquele efeito
legal...
Alguém já passou por isso? í‰ um bug do Xailer?
Obrigado pela atenção,
Reginaldo
In order for this site to work correctly we need to store a small file (called a cookie) on your computer. Most every site in the world does this, however since the 25th of May 2011, by law we have to get your permission first. Please abandon the forum if you disagree.
Para que este foro funcione correctamente es necesario guardar un pequeño fichero (llamado cookie) en su ordenador. La mayoría de los sitios de Internet lo hacen, no obstante desde el 25 de Marzo de 2011 y por ley, necesitamos de su permiso con antelación. Abandone este foro si no está conforme.
Para que este foro funcione correctamente es necesario guardar un pequeño fichero (llamado cookie) en su ordenador. La mayoría de los sitios de Internet lo hacen, no obstante desde el 25 de Marzo de 2011 y por ley, necesitamos de su permiso con antelación. Abandone este foro si no está conforme.
Efeito desagradável ao maximizar/restaurar formulário
Efeito desagradável ao maximizar/restaurar formulário
Reginaldo,
Tenho uma aplicação que faz exatamente isto e não tenho problema.
Segui o exemplo de XailerSamplesNotifyIcon.
O form uso:
nBorderStyle := bsSIZEABLE
lMaximizeBox := .F.
lCentered := .T.
Ele dispara uma consulta ao nosso servidor MySql a cada 2 segundos.
Não use Sleep(2000) pois isto desconfigura a tela, não sei o porquíª.
Uso o TTimer que a cada 2 segundos dispara uma função.
Na função, quando entro:
oTimer:lEnabled:=.F.
quando saio:
oTimer:lEnabled:=.T.
Segue algumas linhas de código:
METHOD TimerTimer( oSender ) CLASS CMTSERVE
SF999(Self) // executa a tarefea
RETURN Nil
METHOD NotifyIcon1DblClick( oSender, nX, nY ) CLASS CMTSERVE
*maximiza com duplo clique no ícone
::Show()
::Restore()
RETURN Nil
METHOD PM1Item1Click( oSender, oMenu ) CLASS CMTSERVE
*com botão direito abro o TPopMenu com a opção abrir
::Show()
::Restore()
RETURN Nil
STATIC FUNCTION SF999(Self)
oTimer:lEnabled:=.F.
....
*minimiza sózinho depois de 10 segundos
++::dMin
IF ::dMin=10
::dMin:=0
IF ::dMax=0 // MAXIMIZADO
::Minimize(.T.)
ENDIF
ENDIF
....
oTimer:lEnabled:=.T.
RETURN Nil
METHOD FormSize( oSender, nSizeType, nClientWidth, nClientHeight ) CLASS CMTSERVE
::dMax:=nSizeType
IF ::oNotifyIcon1 != NIL
::lVisible := !::oNotifyIcon1:lVisible := ( nSizeType == 1 )
::oNotifyIcon1:Refresh()
ENDIF
RETURN Nil
Mário Angelini
Tenho uma aplicação que faz exatamente isto e não tenho problema.
Segui o exemplo de XailerSamplesNotifyIcon.
O form uso:
nBorderStyle := bsSIZEABLE
lMaximizeBox := .F.
lCentered := .T.
Ele dispara uma consulta ao nosso servidor MySql a cada 2 segundos.
Não use Sleep(2000) pois isto desconfigura a tela, não sei o porquíª.
Uso o TTimer que a cada 2 segundos dispara uma função.
Na função, quando entro:
oTimer:lEnabled:=.F.
quando saio:
oTimer:lEnabled:=.T.
Segue algumas linhas de código:
METHOD TimerTimer( oSender ) CLASS CMTSERVE
SF999(Self) // executa a tarefea
RETURN Nil
METHOD NotifyIcon1DblClick( oSender, nX, nY ) CLASS CMTSERVE
*maximiza com duplo clique no ícone
::Show()
::Restore()
RETURN Nil
METHOD PM1Item1Click( oSender, oMenu ) CLASS CMTSERVE
*com botão direito abro o TPopMenu com a opção abrir
::Show()
::Restore()
RETURN Nil
STATIC FUNCTION SF999(Self)
oTimer:lEnabled:=.F.
....
*minimiza sózinho depois de 10 segundos
++::dMin
IF ::dMin=10
::dMin:=0
IF ::dMax=0 // MAXIMIZADO
::Minimize(.T.)
ENDIF
ENDIF
....
oTimer:lEnabled:=.T.
RETURN Nil
METHOD FormSize( oSender, nSizeType, nClientWidth, nClientHeight ) CLASS CMTSERVE
::dMax:=nSizeType
IF ::oNotifyIcon1 != NIL
::lVisible := !::oNotifyIcon1:lVisible := ( nSizeType == 1 )
::oNotifyIcon1:Refresh()
ENDIF
RETURN Nil
Mário Angelini
Efeito desagradável ao maximizar/restaurar formulário
Reginaldo,
Desculpa, acho que o que vocíª quer é outra coisa.
Entendi que era minimizar no SysTray.
Mário
Desculpa, acho que o que vocíª quer é outra coisa.
Entendi que era minimizar no SysTray.
Mário