Ir para conteúdo
Fórum Script Brasil
  • 0

Desabilitar RESTAURAR


samuka_medic

Pergunta

Olá, a todos!

Primeiramente quero me desculpar caso já exista algum tópico sobre este assunto. Tentei procurar algo pertinente, mas não encontrei...

Já fiz alguns sisteminhas em access, mas sempre trabalhei com macros. No que diz respeito a programação não entendo absolutamente nada, mas pelo visto terei que colocar algum código no sistema que estou desenvolvendo para resolver meu problema.

Eis o danado do problema:

Preciso desabilitar a opção RESTAURAR, pois o sistema trabalha com as janelas de formulários e relatórios maximizadas. Porém quando fecho um relatório, por exemplo, e há um formulário em segundo plano, este acaba restaurando, quando na verdade quero que continue maximizado.

achei na net algo sobre como fazer isso, mas não consigo inserir esse código (não sei onde nem como colocá-lo no sistema)

o código que achei é esse:

Option Explicit

Private Const WS_THICKFRAME As Long = &H40000

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 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

Function DisableResBtn(frm As Form)

Const WS_THICKFRAME = &H40000

Const WS_MAXIMIZE = &H1000000

Const WS_MAXIMIZEBOX = &H10000

Const GWL_STYLE = (-16)

Const SWP_FRAMECHANGED = &H20

Const SWP_NOMOVE = &H2

Const SWP_NOSIZE = &H1

Const SWP_NOZORDER = &H4

'Const HWND_TOP = 0

Dim nStyle As Long

Dim hwnd As Long

nStyle = GetWindowLong(frm.hwnd, GWL_STYLE)

nStyle = nStyle And Not (WS_THICKFRAME)

nStyle = nStyle And Not (WS_MAXIMIZE)

nStyle = nStyle And Not (WS_MAXIMIZEBOX)

Call SetWindowLong(frm.hwnd, GWL_STYLE, nStyle)

SetWindowPos frm.hwnd, 0, 0, 0, 0, 0, SWP_FRAMECHANGED Or SWP_NOMOVE Or SWP_NOSIZE Or SWP_NOZORDER

End Function

================================================

No Evento Ao Carregar

Docmd.maximize

DisableResBtn Me.

Queria umas dicas de como fazer isso funcionar....

PS.: o sistema roda em access 2003

Desde já agradeço a atenção!!!

abraços

Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

  • 0

Pra isso você pode utilizar a Propriedade Eventos "Ao receber FOCO" do próprio formulário e lá faça com que o form seja maximizado, usando o seguinte comando:

docmd.maximize

Assim todas vez que o form receber o foco ele se auto maximizara, ok!

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,4k
×
×
  • Criar Novo...