MANTER FORM MDI SEMPRE NO TOP

CLAUDIOLUCROCHA 22/04/2004 12:36:25
#21913
Preciso manter um formulario MDI sempre no TOP como se fosse o form.show .

Isso em VB5 consegui uma rotina assim

form.show , me

mais não funciona (pelo menos em VB5) alguem tem uma ideia.
CAJU 22/04/2004 13:00:42
#21917
Resposta escolhida
module:

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
Private Const SWP_NOSIZE = &H1
Private Const SWP_NOMOVE = &H2
Private Const HWND_TOPMOST = -1
Private Const HWND_NOTOPMOST = -2
Public Sub SetOnTopForm(f As Object, Top As Boolean)
If Top Then
SetWindowPos f.hwnd, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOMOVE + SWP_NOSIZE
Else
SetWindowPos f.hwnd, HWND_NOTOPMOST, 0, 0, 0, 0, SWP_NOMOVE + SWP_NOSIZE
End If
End Sub


MDIform1_load
SetOnTopForm me, true
CAJU 22/04/2004 14:25:32
#21943
por exemplo:
se vc estiver no form1 e clicar no botao aparecerá o MDI....
mas cara vc colocando o MDI_deactivate mdi.zorder 0 não possibilitará o user clicar no form1 ded novo!
não sei se é isso que vc quer, mas dá ceerto
CAJU 22/04/2004 14:40:41
#21950
ah.....
frmBairro.show 1 (vbmodal)

vc só poderá mudar para outro form quando fechar o frmbairro
CAJU 22/04/2004 15:02:37
#21966
captei... o MDI que vc fala é o MDI_CHILD...

http://www.vbmania.com.br/vbmdetail.php?varID=864

tem um exemplo quentinho!
Tópico encerrado , respostas não são mais permitidas