MDI EM MODO FULLSCREEN
Alguem sabe por favor, como deixo um formulario MDI (ou um form normal mesmo), em modo fullscreen, tampando inclusive a barra de tarefas do windows? Obrigado.
um form normal se você colocar border style = 3 - FixedDialog, e maximized = True e fica sobre tudo inclusive a barra de tarefas.
no MDI não encontrei codigo que fize-se isso, porém existe uma maneria de vc colocar um form dentro de uma picturebox e simular o MDI.
no MDI não encontrei codigo que fize-se isso, porém existe uma maneria de vc colocar um form dentro de uma picturebox e simular o MDI.
Citação::
um form normal se você colocar border style = 3 - FixedDialog, e maximized = True e fica sobre tudo inclusive a barra de tarefas.
no MDI não encontrei codigo que fize-se isso, porém existe uma maneria de vc colocar um form dentro de uma picturebox e simular o MDI.
Então, tenho uma rotina aqui que oculta a barra de tarefas do windows, só que o problema é que se o usuario maximizar o MDI, ele oculpa somente o espaço padrão, e fica um [Ô]boraco[Ô] no espaço onde é o local da barra de tarefas. Alguem saberia como bloquear o botão maximizar? (mas com o minimizar funcionando, por favor)
ROTINA PAAR OCULTAR BARRA DE FERRAMENTAS QUE CITEI:
Private Sub MDIForm_Load()
Me.Height = Screen.Height
Me.Width = Screen.Width
Dim rtn As Long
rtn = FindWindow([Ô]Shell_traywnd[Ô], [Ô][Ô]) [ô]get the Window
Call SetWindowPos(rtn, 0, 0, 0, 0, 0, SWP_HIDEWINDOW)
End Sub
Private Sub MDIForm_Unload(Cancel As Integer)
rtn = FindWindow([Ô]Shell_traywnd[Ô], [Ô][Ô]) [ô]get the Window
Call SetWindowPos(rtn, 0, 0, 0, 0, 0, SWP_SHOWWINDOW)
End Sub
Em um modulo:
Public Const SWP_HIDEWINDOW = &H80
Public Const SWP_SHOWWINDOW = &H40
Declare Function FindWindow Lib [Ô]user32[Ô] Alias [Ô]FindWindowA[Ô] (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
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
eu não tinha lido o problema do maximizar, mas eis ai uma solução que achei:
bom basta mudar a propriedade moveable para false, e pronto.
no módulo cole
e no form
bom basta mudar a propriedade moveable para false, e pronto.
no módulo cole
Public Const WS_MINIMIZEBOX As Long = &H20000
Public Const WS_MAXIMIZEBOX As Long = &H10000
Public Const GWL_STYLE As Long = (-16)
Public Const SWP_HIDEWINDOW = &H80
Public Const SWP_SHOWWINDOW = &H40
Declare Function FindWindow Lib [Ô]user32[Ô] Alias [Ô]FindWindowA[Ô] (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
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
Declare Function SetWindowLong Lib [Ô]user32[Ô] _
Alias [Ô]SetWindowLongA[Ô] (ByVal hwnd As Long, _
ByVal nIndex As Long, ByVal dwNewLong As _
Long) As Long
Declare Function GetWindowLong Lib [Ô]user32[Ô] _
Alias [Ô]GetWindowLongA[Ô] (ByVal hwnd As Long, _
ByVal nIndex As Long) As Long
e no form
Private Sub MDIForm_Load()
Dim rtn As Long
Dim lWnd As Long
lWnd = GetWindowLong(Me.hwnd, GWL_STYLE)
[txt-color=#007100][ô]Tira o botão de minimizar[/txt-color]
lWnd = lWnd And Not (WS_MINIMIZEBOX)
[txt-color=#007100] [ô]Tira o botão de maximizar[/txt-color]
lWnd = lWnd And Not (WS_MAXIMIZEBOX)
lWnd = SetWindowLong(Me.hwnd, GWL_STYLE, lWnd)
rtn = FindWindow([Ô]Shell_traywnd[Ô], [Ô][Ô]) [ô]get the Window
Call SetWindowPos(rtn, 0, 0, 0, 0, 0, SWP_HIDEWINDOW)
End Sub
Private Sub MDIForm_Resize()
Me.Left = 0
Me.Top = 0
Me.Width = Screen.Width
Me.Height = Screen.Height
End Sub
Private Sub MDIForm_Unload(Cancel As Integer)
rtn = FindWindow([Ô]Shell_traywnd[Ô], [Ô][Ô]) [ô]get the Window
Call SetWindowPos(rtn, 0, 0, 0, 0, 0, SWP_SHOWWINDOW)
End Sub
Marcelo, obrigado pela atenção, a rotina realmente ocultou o botão maximizar, mas só um probleminha, sumiu tambem o botão de minimizar rs. O ideal seria manter o minimizar e o fechar. Você sabe como fazer isso? Se não souber tudo bem, a gente se vira com o que tem mesmo. Obrigado pela ajuda!
só tirar esta linha
[ô]Tira o botão de minimizar
lWnd = lWnd And Not (WS_MINIMIZEBOX)
[ô]Tira o botão de minimizar
lWnd = lWnd And Not (WS_MINIMIZEBOX)
hahaha nem tinha lido suas anotações, Perfeito! Vou fechar o tópico.
Tópico encerrado , respostas não são mais permitidas