3 participantes
[Resolvido]Alterar o exemplo Minimiza Janela do Access
criquio- Moderador Global
- Respeito às regras :
Sexo :
Localização :
Mensagens : 11229
Registrado : 30/12/2009
João, a instrução está na macro AutoExec. Olhe lá que tem duas linhas, uma para abrir o formulário e a segunda para definir a situação da visibilidade da janela.
.................................................................................
Meu novo site: www.vcssistemas.com.br Clique aqui e veja um vídeo que explica como fazer pesquisas no forum. DICA: Quando precisar inserir um exemplo do seu aplicativo, siga os procedimentos abaixo: 1 - faça uma cópia do aplicativo 2 - retire tudo que não for necessário à solução do problema, exceto o que o aplicativo precisar para funcionar 3 - use o Compactar/Reparar 4 - compacte o aplicativo em zip ou rar (zip para postagem como anexo na mensagem) Agradeça a quem lhe ajudou, clicando no joinha de uma das mensagens do usuário. Positive as mensagens que achar útil, no canto superior direito delas. |
rlopikx- Intermediário
- Respeito às regras :
Sexo :
Localização :
Mensagens : 159
Registrado : 26/01/2011
boas....
eu tenho este exemplo a funcionar, apenas com um senão.... ele coloca sempre o formulário encostado ao canto superior direito...Gostava de poder definir para ele aparecer no meio do ecrã como o exemplo...
Ab
eu tenho este exemplo a funcionar, apenas com um senão.... ele coloca sempre o formulário encostado ao canto superior direito...Gostava de poder definir para ele aparecer no meio do ecrã como o exemplo...
Ab
.................................................................................
rlopikx
criquio- Moderador Global
- Respeito às regras :
Sexo :
Localização :
Mensagens : 11229
Registrado : 30/12/2009
A propriedade Auto centralizar do formulário está ativada?
.................................................................................
Meu novo site: www.vcssistemas.com.br Clique aqui e veja um vídeo que explica como fazer pesquisas no forum. DICA: Quando precisar inserir um exemplo do seu aplicativo, siga os procedimentos abaixo: 1 - faça uma cópia do aplicativo 2 - retire tudo que não for necessário à solução do problema, exceto o que o aplicativo precisar para funcionar 3 - use o Compactar/Reparar 4 - compacte o aplicativo em zip ou rar (zip para postagem como anexo na mensagem) Agradeça a quem lhe ajudou, clicando no joinha de uma das mensagens do usuário. Positive as mensagens que achar útil, no canto superior direito delas. |
rlopikx- Intermediário
- Respeito às regras :
Sexo :
Localização :
Mensagens : 159
Registrado : 26/01/2011
está...sem o exemplo aplicado na bd os forms apareciam centrados....
.................................................................................
rlopikx
rlopikx- Intermediário
- Respeito às regras :
Sexo :
Localização :
Mensagens : 159
Registrado : 26/01/2011
Sem a opção centrar e ajustar automaticamente seleccionadas, as forms aparecem centradas mas encostadas ao fundo do ecrã...
.................................................................................
rlopikx
rlopikx- Intermediário
- Respeito às regras :
Sexo :
Localização :
Mensagens : 159
Registrado : 26/01/2011
Resolvido...
Retirei o modulo modResolucao e a ordem no autoexec para ExecutarCódigo, e activei as opões de Centrar/Redimensionar/Ajusar e ficou centradinho...
Obigado!
Retirei o modulo modResolucao e a ordem no autoexec para ExecutarCódigo, e activei as opões de Centrar/Redimensionar/Ajusar e ficou centradinho...
Obigado!
.................................................................................
rlopikx
rlopikx- Intermediário
- Respeito às regras :
Sexo :
Localização :
Mensagens : 159
Registrado : 26/01/2011
Falso alarme ....
Amanhã tento outras soluções....
Amanhã tento outras soluções....
.................................................................................
rlopikx
rlopikx- Intermediário
- Respeito às regras :
Sexo :
Localização :
Mensagens : 159
Registrado : 26/01/2011
O meu problema será que reside aqui?
sFunction ObterResolucaoTela() As String
'By JPaulo Maximo Access
Dim PosicaoHorizontal As Integer
Dim R As RECT
Dim strHD As Long
Dim strValor As Long
strHD = GetDesktopWindow()
strValor = GetWindowRect(strHD, R)
ObterResolucaoTela = (R.x2 - R.x1) & "x" & (R.y2 - R.y1)
PosicaoHorizontal = CInt(R.x2 - R.x1)
Call MoveDimensoes(PosicaoHorizontal, 0, 0, 0)
End Function
Com este código as minhas forms ficam todas la em cima
sFunction ObterResolucaoTela() As String
'By JPaulo Maximo Access
Dim PosicaoHorizontal As Integer
Dim R As RECT
Dim strHD As Long
Dim strValor As Long
strHD = GetDesktopWindow()
strValor = GetWindowRect(strHD, R)
ObterResolucaoTela = (R.x2 - R.x1) & "x" & (R.y2 - R.y1)
PosicaoHorizontal = CInt(R.x2 - R.x1)
Call MoveDimensoes(PosicaoHorizontal, 0, 0, 0)
End Function
Com este código as minhas forms ficam todas la em cima
.................................................................................
rlopikx
criquio- Moderador Global
- Respeito às regras :
Sexo :
Localização :
Mensagens : 11229
Registrado : 30/12/2009
Teste com esse código. Crie um módulo novo e cole:
Private Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongA" _
(ByVal hwnd As Long, ByVal nIndex As Long) As Long
Private Declare Function SetLayeredWindowAttributes Lib "user32" _
(ByVal hwnd As Long, ByVal crKey As Long, ByVal bAlpha As Byte, ByVal dwFlags As Long) As Long
'Constantes
Private Const GWL_EXSTYLE = (-20)
Private Const WS_EX_LAYERED = &H80000
Private Const LWA_ALPHA = &H2
Function AccessTransparente(Nivel As Integer)
'Adaptación: Byron Contreras, febrero 08, byronlcl@gmail.com
'Objetivo: Ajustar el nivel de transparencia de la ventana principal
' de access. El nivel de transparencia debe estar entre 0 a 250
'.............................................................................
Dim lngHwnd As Long
If Nivel < 0 Or Nivel > 250 Then Exit Function
lngHwnd = Application.hWndAccessApp
SetWindowLong lngHwnd, GWL_EXSTYLE, GetWindowLong(lngHwnd, GWL_EXSTYLE) Or WS_EX_LAYERED
SetLayeredWindowAttributes lngHwnd, 0, Nivel, LWA_ALPHA
End Function
No form principal, evento "Ao carregar":
Call AccessTransparente(0)
O 0 coloca a janela do Access totalmente transparente. Se aumentar o número, diminui a transparência.
Private Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongA" _
(ByVal hwnd As Long, ByVal nIndex As Long) As Long
Private Declare Function SetLayeredWindowAttributes Lib "user32" _
(ByVal hwnd As Long, ByVal crKey As Long, ByVal bAlpha As Byte, ByVal dwFlags As Long) As Long
'Constantes
Private Const GWL_EXSTYLE = (-20)
Private Const WS_EX_LAYERED = &H80000
Private Const LWA_ALPHA = &H2
Function AccessTransparente(Nivel As Integer)
'Adaptación: Byron Contreras, febrero 08, byronlcl@gmail.com
'Objetivo: Ajustar el nivel de transparencia de la ventana principal
' de access. El nivel de transparencia debe estar entre 0 a 250
'.............................................................................
Dim lngHwnd As Long
If Nivel < 0 Or Nivel > 250 Then Exit Function
lngHwnd = Application.hWndAccessApp
SetWindowLong lngHwnd, GWL_EXSTYLE, GetWindowLong(lngHwnd, GWL_EXSTYLE) Or WS_EX_LAYERED
SetLayeredWindowAttributes lngHwnd, 0, Nivel, LWA_ALPHA
End Function
No form principal, evento "Ao carregar":
Call AccessTransparente(0)
O 0 coloca a janela do Access totalmente transparente. Se aumentar o número, diminui a transparência.
.................................................................................
Meu novo site: www.vcssistemas.com.br Clique aqui e veja um vídeo que explica como fazer pesquisas no forum. DICA: Quando precisar inserir um exemplo do seu aplicativo, siga os procedimentos abaixo: 1 - faça uma cópia do aplicativo 2 - retire tudo que não for necessário à solução do problema, exceto o que o aplicativo precisar para funcionar 3 - use o Compactar/Reparar 4 - compacte o aplicativo em zip ou rar (zip para postagem como anexo na mensagem) Agradeça a quem lhe ajudou, clicando no joinha de uma das mensagens do usuário. Positive as mensagens que achar útil, no canto superior direito delas. |
rlopikx- Intermediário
- Respeito às regras :
Sexo :
Localização :
Mensagens : 159
Registrado : 26/01/2011
Esta expressão Call AccessTransparente(0) ele nao está aceitar, ja tentei com CallAccessTransparente(0); AccessTransparente(0); Obter AccessTransparente(0).
Nada ele no inicio depois de executar o autoexec dá este erro :
Nada ele no inicio depois de executar o autoexec dá este erro :
.................................................................................
rlopikx
vieirasoft- Developer
- Respeito às regras :
Sexo :
Localização :
Mensagens : 7304
Registrado : 11/05/2010
Amigo, não faça isso com macro olhe o que o Criquio disse:
No form principal, evento "Ao carregar":
Call AccessTransparente(0)
No form principal, evento "Ao carregar":
Call AccessTransparente(0)
rlopikx- Intermediário
- Respeito às regras :
Sexo :
Localização :
Mensagens : 159
Registrado : 26/01/2011
Nao esta em macro, esta em vb.
No form principal, evento "Ao carregar":
Call AccessTransparente(0)
ele da o erro com aquela mensagem.
No form principal, evento "Ao carregar":
Call AccessTransparente(0)
ele da o erro com aquela mensagem.
.................................................................................
rlopikx
vieirasoft- Developer
- Respeito às regras :
Sexo :
Localização :
Mensagens : 7304
Registrado : 11/05/2010
E o Módulo? Copiou e guardou o módulo?
vieirasoft- Developer
- Respeito às regras :
Sexo :
Localização :
Mensagens : 7304
Registrado : 11/05/2010
Peguei no 1º exemplo que encontrei aqui e fiz o seguinte:
1- Adicionei o módulo
2- Coloquei no evento do form ao carregar callaccesstransparente (175) mude para 0
http://dl.dropbox.com/u/8157744/atrans.rar
1- Adicionei o módulo
2- Coloquei no evento do form ao carregar callaccesstransparente (175) mude para 0
http://dl.dropbox.com/u/8157744/atrans.rar
Convidado- Convidado
Na minha opinião o fundo ficou muito vissivel e o formulario esta atras.
vieirasoft- Developer
- Respeito às regras :
Sexo :
Localização :
Mensagens : 7304
Registrado : 11/05/2010
2- Coloquei no evento do form ao carregar callaccesstransparente (175) mude para 0
rlopikx- Intermediário
- Respeito às regras :
Sexo :
Localização :
Mensagens : 159
Registrado : 26/01/2011
vieira fiz como disse e entao compreendi a logiaca, mas...da erro:
mesmo com o evento:
Private Sub Form_Load()
Call AccessTransparente(0)
End Sub
Podem estar a compreender mal o meu problema. O exemplo do mestre JPaulo funciona bem com a transparência, o problema é que o fomr fica encostado ao canto superior direito...Este é o problema maior!..
mesmo com o evento:
Private Sub Form_Load()
Call AccessTransparente(0)
End Sub
Podem estar a compreender mal o meu problema. O exemplo do mestre JPaulo funciona bem com a transparência, o problema é que o fomr fica encostado ao canto superior direito...Este é o problema maior!..
.................................................................................
rlopikx
rlopikx- Intermediário
- Respeito às regras :
Sexo :
Localização :
Mensagens : 159
Registrado : 26/01/2011
O cod Vb da imagem, foi um exemplo que o criquio me deu para tentar resolver o meu problema de centrar as forms nos ecrãs...
.................................................................................
rlopikx
vieirasoft- Developer
- Respeito às regras :
Sexo :
Localização :
Mensagens : 7304
Registrado : 11/05/2010
Estive a verificar aqui e não dá erro nenhum. No meu exemplo, dá erro? ou dá no seu?
vieirasoft- Developer
- Respeito às regras :
Sexo :
Localização :
Mensagens : 7304
Registrado : 11/05/2010
O que o Criquio lhe passou é para esconder a janela do access e não para as centrar no ecrã.
rlopikx- Intermediário
- Respeito às regras :
Sexo :
Localização :
Mensagens : 159
Registrado : 26/01/2011
No seu exemplo nao dá erro algum...alterando para 0 e colocando em pop-up fica bom...
Entao estou baralhado...quando falava com o criquio fiquei com a ideia que o vb era para centrar a form...
Entao estou baralhado...quando falava com o criquio fiquei com a ideia que o vb era para centrar a form...
.................................................................................
rlopikx
vieirasoft- Developer
- Respeito às regras :
Sexo :
Localização :
Mensagens : 7304
Registrado : 11/05/2010
Não, se usar esse código vai esconder a janela do access, tornando-a transparente. Só isso. Houve má compreensão do problema.
rlopikx- Intermediário
- Respeito às regras :
Sexo :
Localização :
Mensagens : 159
Registrado : 26/01/2011
Ok...Eu gostava de aplicar o exemplo do JPaulo na minha bd, mas queria que as minhas forms aparecessem no centro dos ercãs..
Como posso solucionar isto?
Como posso solucionar isto?
.................................................................................
rlopikx
vieirasoft- Developer
- Respeito às regras :
Sexo :
Localização :
Mensagens : 7304
Registrado : 11/05/2010
Não conheço esse exemplo. Quando quero que um form fique centrado, vou ás propriedades do form e na aba formato marque a opção centrar = Sim
rlopikx- Intermediário
- Respeito às regras :
Sexo :
Localização :
Mensagens : 159
Registrado : 26/01/2011
Elas estavam inicialmente com a opção sim...depois para teste retirei.
.................................................................................
rlopikx
vieirasoft- Developer
- Respeito às regras :
Sexo :
Localização :
Mensagens : 7304
Registrado : 11/05/2010
Coloque de novo
criquio- Moderador Global
- Respeito às regras :
Sexo :
Localização :
Mensagens : 11229
Registrado : 30/12/2009
Bem. Na verdade, eu havia entendido que o exemplo que o colega estava usando não estava deixando centrar os forms, por isso sugeri esse outro. Pois eu o uso aqui e com a propriedade Auto centrar definida como Sim, tudo funciona a contento. Como o do amigo não está está centrando com nenhum dos dois exemplos, deve ser alguma coisa no seu form que o está impedindo.
.................................................................................
Meu novo site: www.vcssistemas.com.br Clique aqui e veja um vídeo que explica como fazer pesquisas no forum. DICA: Quando precisar inserir um exemplo do seu aplicativo, siga os procedimentos abaixo: 1 - faça uma cópia do aplicativo 2 - retire tudo que não for necessário à solução do problema, exceto o que o aplicativo precisar para funcionar 3 - use o Compactar/Reparar 4 - compacte o aplicativo em zip ou rar (zip para postagem como anexo na mensagem) Agradeça a quem lhe ajudou, clicando no joinha de uma das mensagens do usuário. Positive as mensagens que achar útil, no canto superior direito delas. |
criquio- Moderador Global
- Respeito às regras :
Sexo :
Localização :
Mensagens : 11229
Registrado : 30/12/2009
Só lembrando que a propriedade Popup e janela restrita precisam estar como sim tambem.
.................................................................................
Meu novo site: www.vcssistemas.com.br Clique aqui e veja um vídeo que explica como fazer pesquisas no forum. DICA: Quando precisar inserir um exemplo do seu aplicativo, siga os procedimentos abaixo: 1 - faça uma cópia do aplicativo 2 - retire tudo que não for necessário à solução do problema, exceto o que o aplicativo precisar para funcionar 3 - use o Compactar/Reparar 4 - compacte o aplicativo em zip ou rar (zip para postagem como anexo na mensagem) Agradeça a quem lhe ajudou, clicando no joinha de uma das mensagens do usuário. Positive as mensagens que achar útil, no canto superior direito delas. |
rlopikx- Intermediário
- Respeito às regras :
Sexo :
Localização :
Mensagens : 159
Registrado : 26/01/2011
criquio...janela restrita é??? por este nome nao estou a ver o que possa ser...
.................................................................................
rlopikx
vieirasoft- Developer
- Respeito às regras :
Sexo :
Localização :
Mensagens : 7304
Registrado : 11/05/2010
Janela restrita em português BR (rsrsrsrs), significa sobreposição=Sim em português PT
rlopikx- Intermediário
- Respeito às regras :
Sexo :
Localização :
Mensagens : 159
Registrado : 26/01/2011
Haaa....eu tava por esses lados. Mas obrigado. Estou a fazer umas alterações nas opções Grelha X e Y estão por defeito a 10 e no exemplo do JPaulo estão a 24. Mudei para 24 e parece estar compor-se o problema.
Obrigado a todos.
Não sei se deve colocar RESOLVIDO pois isto é um post de repositório, penso que nao se deva. Se calhar a melhor coisa era criar um tópico novo sobre este problema, que me diz?
Obrigado a todos.
Não sei se deve colocar RESOLVIDO pois isto é um post de repositório, penso que nao se deva. Se calhar a melhor coisa era criar um tópico novo sobre este problema, que me diz?
.................................................................................
rlopikx
vieirasoft- Developer
- Respeito às regras :
Sexo :
Localização :
Mensagens : 7304
Registrado : 11/05/2010
Deixe ficar conforme está e bom trabalho
rlopikx- Intermediário
- Respeito às regras :
Sexo :
Localização :
Mensagens : 159
Registrado : 26/01/2011
Igualmente...
e obrigado mais uma x ao forum...
e obrigado mais uma x ao forum...
.................................................................................
rlopikx