GD Access    GD Access    Grupo de Discussão  Ir para Categorias  Grupos técnicos  Ir para Fóruns  Access    Calendário Pop-Up
Go
Novo
Procurar
Notificar
Ferramentas
Responder
  
-star Rating Vote!  Login/Cadastrar 
Programador Pleno

Figura de  Neros
postado
Caros,

Já vi inúmeras aplicações com calendários pop-up (aqueles calendários acionados com um botão ao lado do campo, e que abrem instantaneamente abaixo ou à direita deste). Como nunca vi nada disso em Access, tentei fazer um próprio. Segue o código:

Private Sub botao_identidade_emissao_Click()
    'DEFINE O OBJETO QUE TINHA O FOCO
    Set Botao_Focus = Me.botao_identidade_emissao
    
    'DEFINE A FONTE DO CONTROLE E A POSICAO DO CALENDARIO
    Src = "identidade_data_emissao"
    nLeft = 4817 '1cm = 567 twips
    nTop = 2154  '1cm = 567 twips
    
    'VERIFICA SE O CONTROLE CALENDÁRIO ESTÁ VISIVEL
    If Calendario.Visible = True Then   'SE ESTIVER VISIVEL,
        Calendario.ControlSource = ""   'DEIXA A FONTE DO CONTROLE EM BRANCO
        Calendario.Visible = False      'E ESCONDE O CONTROLE
        Exit Sub
    End If
    
    If Calendario.Visible = False Then  'SE NAO ESTIVER VISIVEL,
        Calendario.ControlSource = Src  'DEFINE A FONTE (CONFORME A STRING NO COMECO)
        Calendario.Left = nLeft         'DEFINE A POSICAO ESQUERDA (IDEM ACIMA)
        Calendario.Top = nTop           'DEFINE A POSICAO TOPO (IDEM ACIMA)
        
        Calendario.Visible = True       'MOSTRA O CONTROLE
        Calendario.SetFocus             'MANDA O FOCO PARA O CONTROLE
        Me.Recalc                       'RECALCULA o_O
    End If
End Sub


Posso muito bem substituir o Me por Screen.ActiveForm (como já me explicaram num outro tópico), no entanto eu não consegui ainda captar a posição do cursor do mouse na tela. seria interessante substituir isso pelos twips. Isso porque tentei criar uma função que calculasse (baseando na equação 1cm = 567tw), mas não obtive êxito.

Alguém tem uma idéia de como pode ser melhorado?


Allan John Neros
Consultor em Desenvolvimento
Neros Systems | www.neros.com.br
allan@neros.com.br
 
Postagens: 201 | Localização: São Paulo | Registrado: 20 August 2004Reply With QuoteReport This Post
Analista Júnior

Figura de  Gilmar Caetano
postado Hide Post
Tente algo assim:


No evento ao clicar vc chama a função.
Function Posicao(Calendario As CONTROL)

ImagenCalendario.Visible = True
Calendario.Top = SeuControle.Top + 90
Calendario.Left = SeuControle.Left + 90


End If
End Function

Ou seja digamos que vc tenha uma cx de texto de campo data.... quando vc clica nela aparece ao lado do seu campo a imagemcalendario...

Espero que te ajude!


Gilmar Caetano
INTELLIGENCE - Sistema de Inteligência Organizacional
Consultoria & Desenvolvimento
 
Postagens: 866 | Localização: Belo Horizonte | Registrado: 26 March 2003Reply With QuoteReport This Post
Programador Pleno

Figura de  Neros
postado Hide Post
Eu andei pesquisando os controles ActiveX aqui do Access, e encontrei o Microsoft Date and Time Picker, que atende perfeitamente às necessidades, sem ter que ficar digitando códigos.


Allan John Neros
Consultor em Desenvolvimento
Neros Systems | www.neros.com.br
allan@neros.com.br
 
Postagens: 201 | Localização: São Paulo | Registrado: 20 August 2004Reply With QuoteReport This Post
  Powered by Social Strata  
 

GD Access    GD Access    Grupo de Discussão  Ir para Categorias  Grupos técnicos  Ir para Fóruns  Access    Calendário Pop-Up

©