Esqueceu sua senha? Você pode usar o mecanismo de lembrete neste link: Recuperar senha

Você receberá um link de reativação no email cadastrado.

Não recebeu o email? Lembre-se checar o Lixo Eletrônico.

Botao Maximizar e Minimizar

Fórum para dúvidas sobre os fundamentos da linguagem de programação Visual Basic no contexto do VBA
Rafael Almeida
Acabou de chegar
Acabou de chegar
Mensagens: 1
Registrado em: Seg Jan 03, 2011 2:24 pm

Botao Maximizar e Minimizar

Mensagem por Rafael Almeida » Seg Jan 03, 2011 2:31 pm

Boa tarde,

Tenho um form e não estou conseguindo incluir os botões de maximizar e minimizar. Alguem poderia me ajudar?



Disable adblock

This site is supported by ads and donations.
If you see this text you are blocking our ads.
Please consider a Donation to support the site.


Guima
Consultor
Consultor
Mensagens: 242
Registrado em: Sex Out 30, 2009 6:10 am

Re: Botao Maximizar e Minimizar

Mensagem por Guima » Seg Jan 03, 2011 3:59 pm

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


Guilherme

Sub Guilherme_Initialize()
If Me.Guima <> "" Then
MsgBox "Obrigado pela força "
Else
MsgBox "Um abraço pra todos "
End If
End Sub

Avatar do usuário
Mauro Coutinho
Jedi
Jedi
Mensagens: 1559
Registrado em: Sáb Mar 13, 2010 8:10 pm
Localização: São José dos Pinhais - Pr

Re: Botao Maximizar e Minimizar

Mensagem por Mauro Coutinho » Seg Jan 03, 2011 4:00 pm

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 :
Anexos
userform_expert.zip
Botões Maximizar / Minimizar / Fechar Userform
(35.61 KiB) Baixado 2140 vezes


Mauro Coutinho - Exemplos Somente em Office 2003
São José dos Pinhais - Pr
Se sua Duvida foi solucionada . . . .Acrescente [RESOLVIDO] ao título.
Ficou satisfeito com o FORUM ? Divulgue, indicando-o aos colegas !

Avatar do usuário
joseA
Jedi
Jedi
Mensagens: 1008
Registrado em: Qui Out 22, 2009 7:22 am
Localização: Cel. Fabriciano - MG

Re: Botao Maximizar e Minimizar

Mensagem por joseA » Seg Jan 03, 2011 7:42 pm

Rafael Almeida escreveu:...Tenho um form e não estou conseguindo incluir os botões de maximizar e minimizar...
No ambiente VBA do Form, insira:

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
Guima escreveu:... Um problema que percebi é que os outros controles não crescem na mesma proporção que o formulário..
Com evento Resise vc pode obter o tamanho do userform, daí é só relacionar com o zoom.

Código: Selecionar todos

Private Sub UserForm_Resize() 
MsgBox Me.Height 
End Sub 
Aqui ficou assim:

Código: Selecionar todos

 Private Sub UserForm_Resize()
If Me.Height < 429 Then
Me.Zoom = 100
Else
Me.Zoom = 130
End If
End Sub


Se o post lhe agradou clique no sinal de positivo (ao lado de citar).

Disable adblock

This site is supported by ads and donations.
If you see this text you are blocking our ads.
Please consider a Donation to support the site.


Guima
Consultor
Consultor
Mensagens: 242
Registrado em: Sex Out 30, 2009 6:10 am

Re: Botao Maximizar e Minimizar

Mensagem por Guima » Seg Jan 03, 2011 8:32 pm

Olá Mauro, Olá Josér Fera !!!

Um ano novo melhor a cada dia pra vcs. Não faltará exemplos para o Rafael, que ótimo !!!

Com evento Resise vc pode obter o tamanho do userform, daí é só relacionar com o zoom.
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....rsrs :D

Abração pra todos


Guilherme

Sub Guilherme_Initialize()
If Me.Guima <> "" Then
MsgBox "Obrigado pela força "
Else
MsgBox "Um abraço pra todos "
End If
End Sub

renank27
Acabou de chegar
Acabou de chegar
Mensagens: 1
Registrado em: Sáb Jul 16, 2016 8:16 pm

Re: Botao Maximizar e Minimizar

Mensagem por renank27 » Sáb Jul 16, 2016 8:22 pm

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



Tamara
Acabou de chegar
Acabou de chegar
Mensagens: 5
Registrado em: Seg Jul 11, 2016 5:18 pm
Contato:

Re: Botao Maximizar e Minimizar

Mensagem por Tamara » Seg Jul 18, 2016 9:05 am

Coloque PtrSafe.

EX: Private Declare PtrSafe Function


Tamara Moreira

Avatar do usuário
Mikel Silveira Fraga
Jedi
Jedi
Mensagens: 1120
Registrado em: Sex Mai 27, 2011 3:27 pm
Localização: Bragança Paulista - SP

Re: Botao Maximizar e Minimizar

Mensagem por Mikel Silveira Fraga » Seg Jul 18, 2016 9:27 am

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.


Gostou da dica? Clique no JOIA no topo da mensagem.
Esclareceu suas dúvidas? Acrescente ao título do tópico a expressão: [RESOLVIDO].
Orientações sobre o fórum, acesse aqui.

Mikel Silveira Fraga
E-mail: mikel-sf@hotmail.com | Skype: mikelsf | Linked In

luizleite
Acabou de chegar
Acabou de chegar
Mensagens: 3
Registrado em: Ter Out 16, 2018 2:10 pm

Re: Botao Maximizar e Minimizar

Mensagem por luizleite » Ter Out 16, 2018 2:26 pm

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?



Disable adblock

This site is supported by ads and donations.
If you see this text you are blocking our ads.
Please consider a Donation to support the site.


Responder