TIRAR FOCO DA TELA DEBAIXO

ADILSOO 30/09/2017 15:21:14
#476879
Boa tarde pessoal!
Alguém sabe como posso fazer, se há alguma possibilidade, de quando chamar uma tela que fique por cima da outra, tirar o foco, ou algo do tipo?

Só pra não confundir o usuário?

Obs: Eu não queria usar o unload no form de baixo.

Att
Adilson
JABA 30/09/2017 16:15:34
#476881
Resposta escolhida
Você pode chamar o form de cima em modal, ou, então, tornar o de baixo invisível, pois ao ativa-lo novamente, os dados ainda continuariam lá.
ADILSOO 30/09/2017 16:55:40
#476882
Fala JABA, blz?
Então, o modal, impede que clique no form debaixo, blz?
Mas na verdade eu queria tirar do visual mesmo,

Como seria?
Citação:

então, tornar o de baixo invisíve

JABA 30/09/2017 20:03:12
#476883
Veja esse exemplo em anexo.
ADILSOO 30/09/2017 21:34:28
#476884
Entendi, mas dessa maneira vou ter que carregar o form novamente pelo form de cima, e vai causar mais trabalho toda vez, kkk

Vou tentar mais um pouco, qualquer novidade posto aqui...

Abraço!!
JABA 30/09/2017 22:32:10
#476885
Você quer que o form de baixo fique com o foco, é isso? Se for, você pode fazer assim.
ADILSOO 01/10/2017 06:29:37
#476887
Não, na verdade eu nem sei se existe, mas eu penso em algo tipo a imagem...
DAMASCENO.CESAR 01/10/2017 14:19:49
#476889
Não uso mais vb 6 mas talvez isso chegue perto do que voce quer: transparencia.

não testei rsrs, mas ve se adapta aí:
chama no load do form que fica em cima e retorna ao normal no unload

https://www.portugal-a-programar.pt/forums/topic/2065-vb-6-api-forms-transl%C3%BAcidas/
FABRICIOWEB 04/10/2017 16:49:58
#476982
isso resolvera para você


MODULO
Option Explicit

Private Declare Function SetWindowPos Lib [Ô]user32[Ô] (ByVal hWnd As Long, ByVal hWndInsertAfter As Long, ByVal X As Long, ByVal Y As Long, ByVal Cx As Long, ByVal Cy As Long, ByVal wFlags As Long) As Long

Function AlwaysOnTop(FrmID As Form, ByVal OnTop As Boolean) As Boolean
Const SWP_NOMOVE = 2
Const SWP_NOSIZE = 1
Const flags = SWP_NOMOVE Or SWP_NOSIZE
Const HWND_TOPMOST = -1
Const HWND_NOTOPMOST = -2
If OnTop = True Then
AlwaysOnTop = SetWindowPos(FrmID.hWnd, HWND_TOPMOST, 0, 0, 0, 0, flags)
Else
AlwaysOnTop = SetWindowPos(FrmID.hWnd, HWND_NOTOPMOST, 0, 0, 0, 0, flags)
End If
End Function




FORMULARIO


Private Sub Form_Load()
AlwaysOnTop Me, True
End Sub



Tópico encerrado , respostas não são mais permitidas