Fórum Excel Bácico, Avançado e Vba
Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.
Fórum Excel Bácico, Avançado e Vba

Este fórum é destina a usuário de Excel, que queiram compartilhar informações a básicas, avançadas e programação em VBA...
 
InícioInício  Últimas imagensÚltimas imagens  ProcurarProcurar  RegistarRegistar  Entrar  

 

 Desabilitar o botão Fechar e Habilitar somente a opção minimizar no Formulário

Ir para baixo 
2 participantes
AutorMensagem
Anacleto




Mensagens : 86
Data de inscrição : 04/04/2012

Desabilitar o botão Fechar e Habilitar somente a opção minimizar no Formulário Empty
MensagemAssunto: Desabilitar o botão Fechar e Habilitar somente a opção minimizar no Formulário   Desabilitar o botão Fechar e Habilitar somente a opção minimizar no Formulário EmptySex Abr 04, 2014 8:30 pm

Boa Tarde

Tenho uma tela onde inclui o código para desabilitar a opção Fechar o formulário, o problema é que preciso Habilitar a opção minimizar o formulário, não estou conseguindo, desta forma venho buscar auxílios ao forum.

Fico no aguardo!

Private Declare Function FindWindowA Lib "USER32" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Declare Function GetWindowLongA Lib "USER32" (ByVal hwnd As Long, ByVal nIndex As Long) As Long
Private Declare Function SetWindowLongA Lib "USER32" (ByVal hwnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long

Private Sub UserForm_Initialize()
Dim hwnd As Long
hwnd = FindWindowA(vbNullString, Me.Caption)
SetWindowLongA hwnd, -16, GetWindowLongA(hwnd, -16) And &HFFF7FFFF
End Sub
Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
Dim hwnd As Long
hwnd = FindWindowA(vbNullString, Me.Caption)
SetWindowLongA hwnd, -16, GetWindowLongA(hwnd, -16) Or &H80000

End Sub
Ir para o topo Ir para baixo
alexandrevba

alexandrevba


Mensagens : 1820
Data de inscrição : 13/07/2011
Localização : Serra - ES

Desabilitar o botão Fechar e Habilitar somente a opção minimizar no Formulário Empty
MensagemAssunto: Re: Desabilitar o botão Fechar e Habilitar somente a opção minimizar no Formulário   Desabilitar o botão Fechar e Habilitar somente a opção minimizar no Formulário EmptySex Abr 04, 2014 11:25 pm

Boa tarde!!

Bom segue uma forma onde tem Max e Min
Faça sua adaptação.
Fonte:
http://www.mrexcel.com/archive/VBA/24009.html
Código:
Option Explicit
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongA" (ByVal hWnd As Long, ByVal nIndex As Long) As Long
Private Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hWnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
Private Declare Function DrawMenuBar Lib "user32" (ByVal hWnd As Long) As Long
Private Declare Function ShowWindow Lib "user32" (ByVal hWnd As Long, ByVal nCmdShow As Long) As Long

Private Const GWL_STYLE As Long = (-16)
Private Const WS_SYSMENU As Long = &H80000
Private Const WS_MINIMIZEBOX As Long = &H20000
Private Const WS_MAXIMIZEBOX As Long = &H10000
Private Const SW_SHOWMAXIMIZED = 3

Private Sub UserForm_Activate()
Dim lFormHandle As Long, lStyle As Long

lFormHandle = FindWindow("ThunderDFrame", Me.Caption)

lStyle = GetWindowLong(lFormHandle, GWL_STYLE)

lStyle = lStyle Or WS_SYSMENU
lStyle = lStyle Or WS_MINIMIZEBOX
lStyle = lStyle Or WS_MAXIMIZEBOX

SetWindowLong lFormHandle, GWL_STYLE, (lStyle)

DrawMenuBar lFormHandle

End Sub
Ir para o topo Ir para baixo
 
Desabilitar o botão Fechar e Habilitar somente a opção minimizar no Formulário
Ir para o topo 
Página 1 de 1
 Tópicos semelhantes
-
» Habilitar e Desabilitar copy/paste
» Desabilitar Pg up e Pg Dn
» Desabilitar Salvar Como
» Desabilitar comandos do Windows VBA
» PROCV RETORNANDO SOMENTE A FORMULA QUE SE ENCONTRA NA PROCURA DESEJADA

Permissões neste sub-fórumNão podes responder a tópicos
Fórum Excel Bácico, Avançado e Vba :: Avançado/VBA :: Excel Avançado/VBA-
Ir para: