TIRAR FOCO DA TELA DEBAIXO
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
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
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á.
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?
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
Veja esse exemplo em anexo.
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!!
Vou tentar mais um pouco, qualquer novidade posto aqui...
Abraço!!
Você quer que o form de baixo fique com o foco, é isso? Se for, você pode fazer assim.
Não, na verdade eu nem sei se existe, mas eu penso em algo tipo a imagem...
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/
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/
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
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