Vídeo recomendado
https://youtu.be/diWPPPhW-9E
https://youtu.be/diWPPPhW-9E
Botao Maximizar e Minimizar
-
- Acabou de chegar
- Mensagens: 1
- Registrado em: Seg Jan 03, 2011 2:24 pm
Botao Maximizar e Minimizar
Boa tarde,
Tenho um form e não estou conseguindo incluir os botões de maximizar e minimizar. Alguem poderia me ajudar?
Tenho um form e não estou conseguindo incluir os botões de maximizar e minimizar. Alguem poderia me ajudar?
Re: Botao Maximizar e Minimizar
Olá Rafael,
Há um tempo atrás quis fazer a mesma coisa com meu formulário e encontrei este exemplo na net, não me recordo onde. Um problema que percebi é que os outros controles não crescem na mesma proporção que o formulário, mas para minimizar é ótimo. Veja se te ajuda.
[REMOVIDO]
Abraços
Há um tempo atrás quis fazer a mesma coisa com meu formulário e encontrei este exemplo na net, não me recordo onde. Um problema que percebi é que os outros controles não crescem na mesma proporção que o formulário, mas para minimizar é ótimo. Veja se te ajuda.
[REMOVIDO]
Abraços
- Mauro Coutinho
- Jedi
- Mensagens: 1561
- Registrado em: Sáb Mar 13, 2010 8:10 pm
- Localização: São José dos Pinhais - Pr
Re: Botao Maximizar e Minimizar
Rafael, emos alguns exemplos no Forum, de uma olhada no tópico abaixo e tambem no Forum dicas que tem um exemplo que o rodrigo postou com varios forms.
viewtopic.php?f=6&t=615
Este que o Guima postou é muito bom tambem.
Segue mais um exemplo : Creditos do Fabio M. dos Santos :
viewtopic.php?f=6&t=615
Este que o Guima postou é muito bom tambem.
Segue mais um exemplo : Creditos do Fabio M. dos Santos :
- Anexos
-
- userform_expert.zip
- Botões Maximizar / Minimizar / Fechar Userform
- (35.61 KiB) Baixado 2420 vezes
- joseA
- Jedi
- Mensagens: 1048
- Registrado em: Qui Out 22, 2009 7:22 am
- Localização: Cel. Fabriciano - MG
Re: Botao Maximizar e Minimizar
No ambiente VBA do Form, insira:Rafael Almeida escreveu:...Tenho um form e não estou conseguindo incluir os botões de maximizar e minimizar...
Código: Selecionar todos
Private Declare Function FindWindowA Lib "user32" (ByVal lpClassName As String, _
ByVal lpWindowName As String) As Long
Private Declare Function IniciaJanela Lib "user32" Alias "GetWindowLongA" ( _
ByVal hwnd As Long, ByVal nIndex As Long) As Long
Private Declare Function MoveJanela Lib "user32" Alias "SetWindowLongA" ( _
ByVal hwnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
Private Declare Function ShowWindow Lib "user32" (ByVal hwnd As Long, _
ByVal nCmdShow As Long) As Long
Private Declare Function ExibirÍcone Lib "user32" Alias "SendMessageA" ( _
ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, _
LParam As Any) As Long
Private Declare Function DrawMenuBar Lib "user32" (ByVal hwnd As Long) As Long
Private Declare Function SetFocus Lib "user32" (ByVal hwnd As Long) As Long
'// Estilo Janela
Private Const WS_CAPTION = &HC00000
Private Const WS_BARRA_TAREFAS = &H40000 '// Barra de tarefas
Private Const WS_MENU As Long = &H80000 '// Menu
Private Const WS_CX_MINIMIZAR As Long = &H20000 '// Botão maximizar
Private Const WS_CX_MAXIMIZAR As Long = &H10000 '// Botão minimizar
Private Const WS_POPUP As Long = &H80000000
'// Estado da janela
Private Const SW_EXIBIR_NORMAL = 1
Private Const SW_EXIBIR_MINIMIZADO = 2
Private Const SW_EXIBIR_MAXIMIZADO = 3
Private Const ESTILO_PROLONGADO = (-20) '// Estilo prolongado
Private Const ESTILO_ATUAL As Long = (-16) '// Um novo estilo de janela
'// Contante do Ícone
Private Const FOCO_ICONE = &H80
Private Const ICONE = 0&
Private Sub UserForm_Activate()
Form_Personalizado = FindWindowA(vbNullString, Me.Caption)
ESTILO = IniciaJanela(Form_Personalizado, ESTILO_ATUAL)
ESTILO = ESTILO Or WS_CX_MAXIMIZAR
ESTILO = ESTILO Or WS_POPUP '
ESTILO = ESTILO Or WS_CAPTION
MoveJanela Form_Personalizado, ESTILO_ATUAL, (ESTILO)
ESTILO = IniciaJanela(Form_Personalizado, ESTILO_PROLONGADO)
ESTILO = ESTILO Or WS_BARRA_TAREFAS
MoveJanela Form_Personalizado, ESTILO_PROLONGADO, ESTILO
DrawMenuBar Form_Personalizado
SetFocus Form_Personalizado
ShowWindow Form_Personalizado, SW_EXIBIR_MAXIMIZADO
'If GetScreenResolution = "800x600" Then
'Me.Zoom = 100
'Else
'Me.Zoom = 130
'End If
End Sub
Com evento Resise vc pode obter o tamanho do userform, daí é só relacionar com o zoom.Guima escreveu:... Um problema que percebi é que os outros controles não crescem na mesma proporção que o formulário..
Código: Selecionar todos
Private Sub UserForm_Resize()
MsgBox Me.Height
End Sub
Código: Selecionar todos
Private Sub UserForm_Resize()
If Me.Height < 429 Then
Me.Zoom = 100
Else
Me.Zoom = 130
End If
End Sub
Re: Botao Maximizar e Minimizar
Olá Mauro, Olá Josér Fera !!!
Um ano novo melhor a cada dia pra vcs. Não faltará exemplos para o Rafael, que ótimo !!!
Abração pra todos
Um ano novo melhor a cada dia pra vcs. Não faltará exemplos para o Rafael, que ótimo !!!
Fico feliz por sua dica José, mas mesmo utilizando o evento resize, alguns botões, frames e labels não aparecem no formulário quando minimizo. Isso que me fez desistir de utilizar essa API. Caso haja alguma solução para isso vou ficar imensamente feliz....rsrsCom evento Resise vc pode obter o tamanho do userform, daí é só relacionar com o zoom.
Abração pra todos
Re: Botao Maximizar e Minimizar
Galera, boa noite!
Será que poderiam me ajudar?
Inseri o código abaixo para ter o botão minimizar e tá dando erro dizendo que preciso atualizar para 64-bits..
Private Declare Function FindWindowA Lib "user32" (ByVal lpClassName As String, _
ByVal lpWindowName As String) As Long
Private Declare Function IniciaJanela Lib "user32" Alias "GetWindowLongA" ( _
ByVal hwnd As Long, ByVal nIndex As Long) As Long
Private Declare Function MoveJanela Lib "user32" Alias "SetWindowLongA" ( _
ByVal hwnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
Private Declare Function ShowWindow Lib "user32" (ByVal hwnd As Long, _
ByVal nCmdShow As Long) As Long
Private Declare Function ExibirÍcone Lib "user32" Alias "SendMessageA" ( _
ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, _
LParam As Any) As Long
Private Declare Function DrawMenuBar Lib "user32" (ByVal hwnd As Long) As Long
Private Declare Function SetFocus Lib "user32" (ByVal hwnd As Long) As Long
'// Estilo Janela
Private Const WS_CAPTION = &HC00000
Private Const WS_BARRA_TAREFAS = &H40000 '// Barra de tarefas
Private Const WS_MENU As Long = &H80000 '// Menu
Private Const WS_CX_MINIMIZAR As Long = &H20000 '// Botão maximizar
Private Const WS_CX_MAXIMIZAR As Long = &H10000 '// Botão minimizar
Private Const WS_POPUP As Long = &H80000000
'// Estado da janela
Private Const SW_EXIBIR_NORMAL = 1
Private Const SW_EXIBIR_MINIMIZADO = 2
Private Const SW_EXIBIR_MAXIMIZADO = 3
Private Const ESTILO_PROLONGADO = (-20) '// Estilo prolongado
Private Const ESTILO_ATUAL As Long = (-16) '// Um novo estilo de janela
'// Contante do Ícone
Private Const FOCO_ICONE = &H80
Private Const ICONE = 0&
Private Sub UserForm_Activate()
Form_Personalizado = FindWindowA(vbNullString, Me.Caption)
ESTILO = IniciaJanela(Form_Personalizado, ESTILO_ATUAL)
ESTILO = ESTILO Or WS_CX_MAXIMIZAR
ESTILO = ESTILO Or WS_POPUP '
ESTILO = ESTILO Or WS_CAPTION
MoveJanela Form_Personalizado, ESTILO_ATUAL, (ESTILO)
ESTILO = IniciaJanela(Form_Personalizado, ESTILO_PROLONGADO)
ESTILO = ESTILO Or WS_BARRA_TAREFAS
MoveJanela Form_Personalizado, ESTILO_PROLONGADO, ESTILO
DrawMenuBar Form_Personalizado
SetFocus Form_Personalizado
ShowWindow Form_Personalizado, SW_EXIBIR_MAXIMIZADO
'If GetScreenResolution = "800x600" Then
'Me.Zoom = 100
'Else
'Me.Zoom = 130
'End If
End Sub
Será que poderiam me ajudar?
Inseri o código abaixo para ter o botão minimizar e tá dando erro dizendo que preciso atualizar para 64-bits..
Private Declare Function FindWindowA Lib "user32" (ByVal lpClassName As String, _
ByVal lpWindowName As String) As Long
Private Declare Function IniciaJanela Lib "user32" Alias "GetWindowLongA" ( _
ByVal hwnd As Long, ByVal nIndex As Long) As Long
Private Declare Function MoveJanela Lib "user32" Alias "SetWindowLongA" ( _
ByVal hwnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
Private Declare Function ShowWindow Lib "user32" (ByVal hwnd As Long, _
ByVal nCmdShow As Long) As Long
Private Declare Function ExibirÍcone Lib "user32" Alias "SendMessageA" ( _
ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, _
LParam As Any) As Long
Private Declare Function DrawMenuBar Lib "user32" (ByVal hwnd As Long) As Long
Private Declare Function SetFocus Lib "user32" (ByVal hwnd As Long) As Long
'// Estilo Janela
Private Const WS_CAPTION = &HC00000
Private Const WS_BARRA_TAREFAS = &H40000 '// Barra de tarefas
Private Const WS_MENU As Long = &H80000 '// Menu
Private Const WS_CX_MINIMIZAR As Long = &H20000 '// Botão maximizar
Private Const WS_CX_MAXIMIZAR As Long = &H10000 '// Botão minimizar
Private Const WS_POPUP As Long = &H80000000
'// Estado da janela
Private Const SW_EXIBIR_NORMAL = 1
Private Const SW_EXIBIR_MINIMIZADO = 2
Private Const SW_EXIBIR_MAXIMIZADO = 3
Private Const ESTILO_PROLONGADO = (-20) '// Estilo prolongado
Private Const ESTILO_ATUAL As Long = (-16) '// Um novo estilo de janela
'// Contante do Ícone
Private Const FOCO_ICONE = &H80
Private Const ICONE = 0&
Private Sub UserForm_Activate()
Form_Personalizado = FindWindowA(vbNullString, Me.Caption)
ESTILO = IniciaJanela(Form_Personalizado, ESTILO_ATUAL)
ESTILO = ESTILO Or WS_CX_MAXIMIZAR
ESTILO = ESTILO Or WS_POPUP '
ESTILO = ESTILO Or WS_CAPTION
MoveJanela Form_Personalizado, ESTILO_ATUAL, (ESTILO)
ESTILO = IniciaJanela(Form_Personalizado, ESTILO_PROLONGADO)
ESTILO = ESTILO Or WS_BARRA_TAREFAS
MoveJanela Form_Personalizado, ESTILO_PROLONGADO, ESTILO
DrawMenuBar Form_Personalizado
SetFocus Form_Personalizado
ShowWindow Form_Personalizado, SW_EXIBIR_MAXIMIZADO
'If GetScreenResolution = "800x600" Then
'Me.Zoom = 100
'Else
'Me.Zoom = 130
'End If
End Sub
- Mikel Silveira Fraga
- Jedi
- Mensagens: 1173
- Registrado em: Sex Mai 27, 2011 3:27 pm
- Localização: Governador Valadares - MG
- Contato:
Re: Botao Maximizar e Minimizar
Renan, bom dia e seja bem vindo ao fórum.
Os acertos para correção deste problema é bem parecido com o informado pela Tamara no post acima. Porém, para um melhor esclarecimento da dessa alteração, separei alguns links que pode lhe ajudar:
- Compatibilidade entre as versões de 32 bits e 64 bits do Office
- VBA Tips - Compatibilidade entre as API 32-Bits (x86) e 64-Bits (x64) no VBA
Dê uma lida e veja se lhe esclarece melhor a mudança.
Abraços e excelente semana a todos.
Os acertos para correção deste problema é bem parecido com o informado pela Tamara no post acima. Porém, para um melhor esclarecimento da dessa alteração, separei alguns links que pode lhe ajudar:
- Compatibilidade entre as versões de 32 bits e 64 bits do Office
- VBA Tips - Compatibilidade entre as API 32-Bits (x86) e 64-Bits (x64) no VBA
Dê uma lida e veja se lhe esclarece melhor a mudança.
Abraços e excelente semana a todos.
Re: Botao Maximizar e Minimizar
boa tarde.
Vi um comentário do Guima sobre adicionar o botão maximizar e minimizar no forum.
adicionei os botões, porém, o formulário não cresce quando aperto o maximizar, não ficando legal visualmente.Quando uso o botão RESTAURAR ACIMA ao invés de maximizar, o form fica no tamanho normal.
É possível incluir no form apenas o botão RESTAURAR ACIMA e MINIMIZAR, e deixar o MAXIMIZAR desativado?
Vi um comentário do Guima sobre adicionar o botão maximizar e minimizar no forum.
adicionei os botões, porém, o formulário não cresce quando aperto o maximizar, não ficando legal visualmente.Quando uso o botão RESTAURAR ACIMA ao invés de maximizar, o form fica no tamanho normal.
É possível incluir no form apenas o botão RESTAURAR ACIMA e MINIMIZAR, e deixar o MAXIMIZAR desativado?