MaximoAccess

Caro Usuário, antes de postar pela primeira vez, leia as regras do fórum.

https://www.maximoaccess.com/t48-regras-do-forum

Obrigado

Administração


Participe do fórum, é rápido e fácil

MaximoAccess

Caro Usuário, antes de postar pela primeira vez, leia as regras do fórum.

https://www.maximoaccess.com/t48-regras-do-forum

Obrigado

Administração

MaximoAccess

Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.

Dicas Ms Access, Exemplos Ms Access, Codigos VBA Ms Access, SQL Ms Access


2 participantes

    [Resolvido]Ribbon ou menu tradicional 2003, qual melhor para resolução

    avatar
    Convidado
    Convidado


    [Resolvido]Ribbon ou menu tradicional 2003, qual melhor para resolução Empty [Resolvido]Ribbon ou menu tradicional 2003, qual melhor para resolução

    Mensagem  Convidado 23/4/2011, 17:58

    Obrigado Criquio..
    Em tempo:

    O que me diz do uso de ribbons no 2007 no lugar dos menus tradicionais do 2003?

    No sistema que te falei tenho um form principal com icones para accionar os forms e relatorios...
    Esse form tem uma imagem incorporada como Layout da aplicacao... e icones no mesmo como se fossem botoes..

    ocorre que quando a resolucao do monitor muda a imagem de fundo se expande mas os icones nao a acompanha ficando fora de lugar com relacao ao layout...]

    entao pensei em usar no form principal apenas uma imagem com logo de fundo do sistema e ribbons para os devidos forms..

    o que me diz disso?
    criquio
    criquio
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 11229
    Registrado : 30/12/2009

    [Resolvido]Ribbon ou menu tradicional 2003, qual melhor para resolução Empty Re: [Resolvido]Ribbon ou menu tradicional 2003, qual melhor para resolução

    Mensagem  criquio 23/4/2011, 19:54

    Embora eu não costumo usar ribbons nos meus projetos, porque minha linha de montagem do layout é outra, eu gosto do efeito delas em um aplicativo. Fica bem profissional. E acho bem mais elegante do que o velho menu do Access 2003.


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

    vieirasoft
    vieirasoft
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 7304
    Registrado : 11/05/2010

    [Resolvido]Ribbon ou menu tradicional 2003, qual melhor para resolução Empty Re: [Resolvido]Ribbon ou menu tradicional 2003, qual melhor para resolução

    Mensagem  vieirasoft 23/4/2011, 20:03

    Para dar a minha opinião, se me permitem


    Pois eu acho o 2003/XP uma maravilha. Se estamos a desenvolver uma aplicação para terceiros, o melhor é desenvolver para já em 2003/XP. Não acho que as Ribbons, sejam mais elegantes que os anteriores menus, mas tal como o Criquio , sou suspeito pois não utilizo esses Menus.

    Abs
    criquio
    criquio
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 11229
    Registrado : 30/12/2009

    [Resolvido]Ribbon ou menu tradicional 2003, qual melhor para resolução Empty Re: [Resolvido]Ribbon ou menu tradicional 2003, qual melhor para resolução

    Mensagem  criquio 23/4/2011, 20:17

    Bem, de qualquer forma, existem algumas maneiras de de continuar usando botões sem que ele se desfigure em razão da diferença de resolução. Uma delas é colocar os botões como um menu horizontal fixo na parte superior esquerda do formulário. Outra opção, no 2007 ou 2010, seria usar as propriedades Âncora horizontal e Âncora vertical para que os controles fiquem distribuídos no formulário. Existe ainda a opção de se fazer isso via vba. Algo assim no evento "Ao carregar" do formulário:

    Me.Botão1.Left = (Me.InsideWidth / 2) - ((Me.Botão1.Width * 6) / 2)
    Me.Botão2.Left = Me.Botão1.Left + Me.Botão1.Width
    Me.Botão3.Left = Me.Botão2.Left + Me.Botão2.Width
    Me.Botão4.Left = Me.Botão3.Left + Me.Botão3.Width
    Me.Botão5.Left = Me.Botão4.Left + Me.Botão4.Width
    Me.Botão6.Left = Me.Botão5.Left + Me.Botão5.Width


    Nesse exemplo, supondo que temos 6 botões de mesma largura, em um menu horizontal, pegamos a área interna do formulário e dividimos por 2 para retornar a metade da largura. Para posicionar o Botão1 na posição correta, precisamos multiplicar a largura por 6 e dividir o resultado por 2 para podermos retornar quanto o menu irá ocupar na tela. Para os demais botões, pegamos a posição à esquerda e adicionamos a largura para que o próximo botão fique do lado direito do botão anterior. Isso pode ser feito tambem na vertical mudando Me.InsideWidth para Me.InsideHeight.


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

    vieirasoft
    vieirasoft
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 7304
    Registrado : 11/05/2010

    [Resolvido]Ribbon ou menu tradicional 2003, qual melhor para resolução Empty Re: [Resolvido]Ribbon ou menu tradicional 2003, qual melhor para resolução

    Mensagem  vieirasoft 23/4/2011, 20:22

    Para quê complicar o simples? Se o problema é esse e é muito fácil pois já o resolvi a alguns aqui no fórum.

    Dado que não é uma aplicação livre e foi paga, deve contactar-me por email.

    Feliz Páscoa
    avatar
    Convidado
    Convidado


    [Resolvido]Ribbon ou menu tradicional 2003, qual melhor para resolução Empty Re: [Resolvido]Ribbon ou menu tradicional 2003, qual melhor para resolução

    Mensagem  Convidado 23/4/2011, 21:35

    Caro Vieira e Criquio... na realidade nao sao botoes... e sim um icone adicionado como imagem... e com comando no evento ao clicar... ele faz as vezes de botao.. por dar um ar mais agradavel no form..

    quando a resolucao mnuda a imagem se expande para esquerda e para baixo.. (ela, a imagem, fica incorporada no form no canto superior e a esquerda...)
    entao quando a resolucao muda, o form como esta em ajustar a tela e maximizar a imagem de fundo(incorporada-Layout) se expande, mas os icones continua no mesmo lugar, alinhado sempre a esquerda e supperior,.. como o form aumenta e consequentemente a imagem de fundo... os icones ficam fora do lkugar original...

    Entao.. no meu layout nao uso menus.. se ja viram alguma tela da Kartoffel (de seus aplicativos expostos no site) , meus lsyouts sao semelhante aos deles...


    Acredita que a ancoragem resolvera isso?
    criquio
    criquio
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 11229
    Registrado : 30/12/2009

    [Resolvido]Ribbon ou menu tradicional 2003, qual melhor para resolução Empty Re: [Resolvido]Ribbon ou menu tradicional 2003, qual melhor para resolução

    Mensagem  criquio 23/4/2011, 22:45

    Pelo que entendi, a imagem é apenas uma e você colocou os botões em cima dos deesenhos fixos na imagem. Bem, nesse caso, uma forma simples seria alterar o tamanho e a posição dos botões via código, ou ao invés de deixar essas imagens incorporadas na imagem principal, desanexá-las, ou seja, recortar cada imagem que serve de fundo para o botão e passá-las para controles imagem, um para cada botão. Assim, ficarão sempre do mesmo tamanho e na mesma posição. Obviamente que dependendo do estilo da imagem de fundo, poderão ocorrer distorções, mas se for uma imagem feita de forma que o espaço reservado para o menu não se altere demasiado, isso vai funcionar.


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

    avatar
    Convidado
    Convidado


    [Resolvido]Ribbon ou menu tradicional 2003, qual melhor para resolução Empty Re: [Resolvido]Ribbon ou menu tradicional 2003, qual melhor para resolução

    Mensagem  Convidado 23/4/2011, 22:53

    Prezado criquio..é assim:

    A imagem e um layout de fundo...um grafismo para implementar o form...

    Os botoes sao icones colcados em um controle imagem.. e ficam sobre a imagem de fundo...

    A imagem de fundo é incorporada no form... e aumenta ou diminui conforme se altera o tamanho do form..

    os icones ficam soltos em cima dessa imagem... eles ficam como botoes...
    vieirasoft
    vieirasoft
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 7304
    Registrado : 11/05/2010

    [Resolvido]Ribbon ou menu tradicional 2003, qual melhor para resolução Empty Re: [Resolvido]Ribbon ou menu tradicional 2003, qual melhor para resolução

    Mensagem  vieirasoft 24/4/2011, 00:14

    Imagens de fundo pesam muito. Há que ter isso em atenção.
    avatar
    Convidado
    Convidado


    [Resolvido]Ribbon ou menu tradicional 2003, qual melhor para resolução Empty Re: [Resolvido]Ribbon ou menu tradicional 2003, qual melhor para resolução

    Mensagem  Convidado 24/4/2011, 00:54

    Claro amigo vieira.. mas isso depende tambem da resolucao como trata a imagem e o tamanhoxDPI's da referida imagem.. como trabalhei alguns anos com designer e tratamento de imagens, elas nao pesam tanto no aplicativo, ate porque depois de carregadas creio que nao influencia na leitura dos dados no BD..
    criquio
    criquio
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 11229
    Registrado : 30/12/2009

    [Resolvido]Ribbon ou menu tradicional 2003, qual melhor para resolução Empty Re: [Resolvido]Ribbon ou menu tradicional 2003, qual melhor para resolução

    Mensagem  criquio 24/4/2011, 01:10

    Não é que influenciem na performance do pc, mas influenciam com considerável proporção no tamanho dele. Como eu costumo trabalhar com backend e frontend, no meu caso não influencia no espaço reservado para os dados porque eles ficam em um bd separado, mas quando se tem tudo em um único arquivo, a coisa é um pouco diferente.
    Quanto à questão, pode ser usado o mesmo princípio acima passado, mas nesse caso pegando a proporção em porcentagem. Você vê quanto por cento os ícones tem do tamanho interno da janela e então aplica isso no evento "Ao carregar" do formulário. Como ter certeza de quais são essas medidas? Pode usar uma msgbox em um clique de um botão apenas para capturá-las:

    MsgBox "Altura: " & Me.InsideHeight & vBcRlF & "Largura: " & Me.InsideWidth, vbOkOnly, "Medidas do formulário"

    Vamos supor que a altura dos ícones seja de 8 por cento da largura e 12 por cento da altura:

    Me.Botão1.Width = Me.InsideWidth * 8 / 100
    Me.Botão1.Height = Me.InsideHeight * 12 / 100

    Me.Botão2.Width = Me.InsideWidth * 8 / 100
    Me.Botão2.Height = Me.InsideHeight * 12 / 100
    Me.Botão2.Left = Me.Botão1.Left + Me.Botão1.Width

    Me.Botão3.Width = Me.InsideWidth * 8 / 100
    Me.Botão3.Height = Me.InsideHeight * 12 / 100
    Me.Botão3.Left = Me.Botão2.Left + Me.Botão2.Width


    Se tiver espaço entre os botões, vai ter que calcular tambem para ficar certinho. Ou pode deixar tudo colado um no outro mesmo se não ficar mal no formulário.
    É só uma ideia mesmo.


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

    avatar
    Convidado
    Convidado


    [Resolvido]Ribbon ou menu tradicional 2003, qual melhor para resolução Empty Re: [Resolvido]Ribbon ou menu tradicional 2003, qual melhor para resolução

    Mensagem  Convidado 24/4/2011, 02:25

    Prezado... eu retirei um modelo creio que do colega Dilson... e tem esse modulo nele..

    nao fiz o teste no meu sistema, pois meu not onde esta o sistema pifou a tela...
    mas fiz um teste usando um bd semelhante e parece que vai dar certo com esse codigo...

    Olhe ai... e se puder me fale qual a melhor solucao... depois vou testar a sua e dou retorno aqui...
    e com relacao ao assunto das imagens... mesmo que o sistema seja relativamente simples, creio que a melhor solucao sempre sera separar o front do back end, inclusive para a maior protecao dos registros, que ficam mais vulneraveis a erros quando estao juntos com a aplicacao...

    Eu sempre trabalho com a BD separada do front.. isso separa os dados da aplicacao melhorando a performance e salvarguadando sobremaneira os registros... nao sei se pensa assim...



    Option Compare Database
    Option Explicit
    Private Const DESIGN_HORZRES As Long = 1024
    Private Const DESIGN_VERTRES As Long = 768
    Private Const DESIGN_PIXELS As Long = 96

    Private Const WM_HORZRES As Long = 8
    Private Const WM_VERTRES As Long = 10
    Private Const WM_LOGPIXELSX As Long = 88
    Private Const TITLEBAR_PIXELS As Long = 18
    Private Const COMMANDBAR_PIXELS As Long = 26
    Private Const COMMANDBAR_LEFT As Long = 0
    Private Const COMMANDBAR_TOP As Long = 1
    Private OrigWindow As tWindow


    Private Type tRect
    Left As Long
    Top As Long
    Right As Long
    Bottom As Long
    End Type

    Private Type tDisplay
    Height As Long
    Width As Long
    DPI As Long
    End Type

    Private Type tWindow
    Height As Long
    Width As Long
    End Type

    Private Type tControl
    Name As String
    Height As Long
    Width As Long
    Top As Long
    Left As Long
    End Type

    Private Declare Function WM_apiGetDeviceCaps Lib "gdi32" Alias "GetDeviceCaps" _
    (ByVal hdc As Long, ByVal nIndex As Long) As Long

    Private Declare Function WM_apiGetDesktopWindow Lib "user32" Alias "GetDesktopWindow" _
    () As Long

    Private Declare Function WM_apiGetDC Lib "user32" Alias "GetDC" _
    (ByVal hWnd As Long) As Long

    Private Declare Function WM_apiReleaseDC Lib "user32" Alias "ReleaseDC" _
    (ByVal hWnd As Long, ByVal hdc As Long) As Long

    Private Declare Function WM_apiGetWindowRect Lib "user32.dll" Alias "GetWindowRect" _
    (ByVal hWnd As Long, lpRect As tRect) As Long

    Private Declare Function WM_apiMoveWindow Lib "user32.dll" Alias "MoveWindow" _
    (ByVal hWnd As Long, ByVal X As Long, ByVal Y As Long, ByVal nWidth As Long, _
    ByVal nHeight As Long, ByVal bRepaint As Long) As Long

    Private Declare Function WM_apiIsZoomed Lib "user32.dll" Alias "IsZoomed" _
    (ByVal hWnd As Long) As Long

    Private Function getScreenResolution() As tDisplay

    Dim hDCcaps As Long
    Dim lngRtn As Long

    On Error Resume Next


    hDCcaps = WM_apiGetDC(0)
    With getScreenResolution
    .Height = WM_apiGetDeviceCaps(hDCcaps, WM_VERTRES)
    .Width = WM_apiGetDeviceCaps(hDCcaps, WM_HORZRES)
    .DPI = WM_apiGetDeviceCaps(hDCcaps, WM_LOGPIXELSX)
    End With
    lngRtn = WM_apiReleaseDC(0, hDCcaps)

    End Function


    Private Function getFactor(blnVert As Boolean) As Single

    Dim sngFactorP As Single

    On Error Resume Next

    If getScreenResolution.DPI <> 0 Then
    sngFactorP = DESIGN_PIXELS / getScreenResolution.DPI
    Else
    sngFactorP = 1
    End If
    If blnVert Then
    getFactor = (getScreenResolution.Height / DESIGN_VERTRES) * sngFactorP
    Else
    getFactor = (getScreenResolution.Width / DESIGN_HORZRES) * sngFactorP
    End If

    End Function


    Public Sub ReSizeForm(ByVal frm As Access.Form)

    Dim rectWindow As tRect
    Dim lngWidth As Long
    Dim lngHeight As Long
    Dim sngVertFactor As Single
    Dim sngHorzFactor As Single

    On Error Resume Next

    sngVertFactor = getFactor(True)
    sngHorzFactor = getFactor(False)
    Resize sngVertFactor, sngHorzFactor, frm
    If WM_apiIsZoomed(frm.hWnd) = 0 Then
    Access.DoCmd.RunCommand acCmdAppMaximize

    Call WM_apiGetWindowRect(frm.hWnd, rectWindow)

    With rectWindow
    lngWidth = .Right - .Left
    lngHeight = .Bottom - .Top
    End With

    If frm.Parent.Name = VBA.vbNullString Then
    Call WM_apiMoveWindow(frm.hWnd, ((getScreenResolution.Width - _
    (sngHorzFactor * lngWidth)) / 2) - getLeftOffset, _
    ((getScreenResolution.Height - (sngVertFactor * lngHeight)) / 2) - _
    getTopOffset, lngWidth * sngHorzFactor, lngHeight * sngVertFactor, 1)
    End If
    End If
    Set frm = Nothing

    End Sub


    Private Sub Resize(sngVertFactor As Single, sngHorzFactor As Single, ByVal frm As Access.Form)

    Dim ctl As Access.Control
    Dim arrCtls() As tControl
    Dim lngI As Long
    Dim lngJ As Long
    Dim lngWidth As Long
    Dim lngHeaderHeight As Long
    Dim lngDetailHeight As Long
    Dim lngFooterHeight As Long
    Dim blnHeaderVisible As Boolean
    Dim blnDetailVisible As Boolean
    Dim blnFooterVisible As Boolean
    Const FORM_MAX As Long = 31680

    On Error Resume Next

    With frm
    .Painting = False

    lngWidth = .Width * sngHorzFactor
    lngHeaderHeight = .Section(Access.acHeader).Height * sngVertFactor
    lngDetailHeight = .Section(Access.acDetail).Height * sngVertFactor
    lngFooterHeight = .Section(Access.acFooter).Height * sngVertFactor

    .Width = FORM_MAX
    .Section(Access.acHeader).Height = FORM_MAX
    .Section(Access.acDetail).Height = FORM_MAX
    .Section(Access.acFooter).Height = FORM_MAX

    blnHeaderVisible = .Section(Access.acHeader).Visible
    blnDetailVisible = .Section(Access.acDetail).Visible
    blnFooterVisible = .Section(Access.acFooter).Visible
    .Section(Access.acHeader).Visible = False
    .Section(Access.acDetail).Visible = False
    .Section(Access.acFooter).Visible = False
    End With

    ReDim arrCtls(0)

    For Each ctl In frm.Controls
    If ((ctl.ControlType = Access.acTabCtl) Or _
    (ctl.ControlType = Access.acOptionGroup)) Then
    With arrCtls(lngI)
    .Name = ctl.Name
    .Height = ctl.Height
    .Width = ctl.Width
    .Top = ctl.Top
    .Left = ctl.Left
    End With
    lngI = lngI + 1
    ReDim Preserve arrCtls(lngI)
    End If
    Next ctl

    For Each ctl In frm.Controls
    If ctl.ControlType <> Access.acPage Then
    With ctl
    .Height = .Height * sngVertFactor
    .Left = .Left * sngHorzFactor
    .Top = .Top * sngVertFactor
    .Width = .Width * sngHorzFactor
    .fontsize = .fontsize * sngVertFactor

    Select Case .ControlType
    Case Access.acListBox
    .ColumnWidths = adjustColumnWidths(.ColumnWidths, sngHorzFactor)
    Case Access.acComboBox
    .ColumnWidths = adjustColumnWidths(.ColumnWidths, sngHorzFactor)
    .ListWidth = .ListWidth * sngHorzFactor
    Case Access.acTabCtl
    .TabFixedWidth = .TabFixedWidth * sngHorzFactor
    .TabFixedHeight = .TabFixedHeight * sngVertFactor
    End Select

    End With
    End If
    Next ctl

    For lngJ = 0 To lngI
    With frm.Controls.Item(arrCtls(lngJ).Name)
    .Left = arrCtls(lngJ).Left * sngHorzFactor
    .Top = arrCtls(lngJ).Top * sngVertFactor
    .Height = arrCtls(lngJ).Height * sngVertFactor
    .Width = arrCtls(lngJ).Width * sngHorzFactor
    End With
    Next lngJ

    With frm
    .Width = lngWidth
    .Section(Access.acHeader).Height = lngHeaderHeight
    .Section(Access.acDetail).Height = lngDetailHeight
    .Section(Access.acFooter).Height = lngFooterHeight

    .Section(Access.acHeader).Visible = blnHeaderVisible
    .Section(Access.acDetail).Visible = blnDetailVisible
    .Section(Access.acFooter).Visible = blnFooterVisible
    .Painting = True
    End With
    Erase arrCtls
    Set ctl = Nothing

    End Sub


    Private Function getTopOffset() As Long

    Dim cmdBar As Object
    Dim lngI As Long

    On Error GoTo err

    For Each cmdBar In Application.CommandBars
    If ((cmdBar.Visible = True) And (cmdBar.position = COMMANDBAR_TOP)) Then
    lngI = lngI + 1
    End If
    Next cmdBar
    getTopOffset = (TITLEBAR_PIXELS + (lngI * COMMANDBAR_PIXELS))

    exit_fun:
    Exit Function

    err:

    getTopOffset = TITLEBAR_PIXELS + COMMANDBAR_PIXELS
    Resume exit_fun

    End Function


    Private Function getLeftOffset() As Long

    Dim cmdBar As Object
    Dim lngI As Long

    On Error GoTo err

    For Each cmdBar In Application.CommandBars
    If ((cmdBar.Visible = True) And (cmdBar.position = COMMANDBAR_LEFT)) Then
    lngI = lngI + 1
    End If
    Next cmdBar
    getLeftOffset = (lngI * COMMANDBAR_PIXELS)

    exit_fun:
    Exit Function

    err:

    getLeftOffset = 0
    Resume exit_fun

    End Function


    Private Function adjustColumnWidths(strColumnWidths As String, sngFactor As Single) _
    As String

    Dim astrColumnWidths() As String
    Dim strTemp As String
    Dim lngI As Long
    Dim lngJ As Long


    ReDim astrColumnWidths(0)
    For lngI = 1 To VBA.Len(strColumnWidths)
    Select Case VBA.Mid(strColumnWidths, lngI, 1)
    Case Is <> ";"
    astrColumnWidths(lngJ) = astrColumnWidths(lngJ) & VBA.Mid( _
    strColumnWidths, lngI, 1)
    Case ";"
    lngJ = lngJ + 1
    ReDim Preserve astrColumnWidths(lngJ)
    End Select
    Next lngI
    lngI = 0

    Do Until lngI > UBound(astrColumnWidths)
    strTemp = strTemp & CSng(astrColumnWidths(lngI)) * sngFactor & ";"
    lngI = lngI + 1
    Loop
    adjustColumnWidths = strTemp
    Erase astrColumnWidths

    End Function


    Public Sub getOrigWindow(frm As Access.Form)

    On Error Resume Next

    OrigWindow.Height = frm.WindowHeight
    OrigWindow.Width = frm.WindowWidth

    End Sub


    Public Sub RestoreWindow()

    On Error Resume Next

    Access.DoCmd.MoveSize , , OrigWindow.Width, OrigWindow.Height
    Access.DoCmd.Save

    End Sub


    avatar
    Convidado
    Convidado


    [Resolvido]Ribbon ou menu tradicional 2003, qual melhor para resolução Empty Re: [Resolvido]Ribbon ou menu tradicional 2003, qual melhor para resolução

    Mensagem  Convidado 24/4/2011, 02:35

    Amigo Criquio.. tem como ter em uma aplicacao modulos com as diversas resolucoes... e que ao abrir o form ele utilize o modulo conforme a resolucao da tela atual...

    ou seja.. se a resolucao for 1366x780 ele abra usando o modulo referente a essa resolucao... e assim sucessivamente com outras resolucoes??


    Toda essa questao eu estou pensando em uma comercializacao do sistema a uma localidade onde nao estarei para fazer os ajustes,... e prevendo os mais diversos tipos de monitores dos clientes..

    Grato..
    criquio
    criquio
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 11229
    Registrado : 30/12/2009

    [Resolvido]Ribbon ou menu tradicional 2003, qual melhor para resolução Empty Re: [Resolvido]Ribbon ou menu tradicional 2003, qual melhor para resolução

    Mensagem  criquio 24/4/2011, 02:49

    O módulo que você postou foi criado para isso mesmo. Esse módulo captura a resolução da tela em pixels para a largura e altura, bem como o tamanho dos pixels do monitor. Uma das coisas a se levar em consideração nesse tipo de módulos, alem da largura e altura da tela em pixels, é o tamanho dos pixels, que pode varia de monitor para monitor, o que nos força a acrescentar isso no código. No caso do exemplo que eu passei, serão avaliados a altura e a largura interna do formulário. Usando as proporções em porcentagens, poderemos mudar o tamanho e posição dos controles dentro do form de acordo sua largura e altura. Já no caso do módulo que você postou, é considerado a resolução do monitor.


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

    vieirasoft
    vieirasoft
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 7304
    Registrado : 11/05/2010

    [Resolvido]Ribbon ou menu tradicional 2003, qual melhor para resolução Empty Re: [Resolvido]Ribbon ou menu tradicional 2003, qual melhor para resolução

    Mensagem  vieirasoft 24/4/2011, 16:03

    Foi enviada para ti MP com o link.
    avatar
    Convidado
    Convidado


    [Resolvido]Ribbon ou menu tradicional 2003, qual melhor para resolução Empty Ribbon ou menu tradicional 2003, qual melhor para resolução

    Mensagem  Convidado 24/4/2011, 16:34

    Obrigado Amigo Vieira, precisando estou sempre a seu dispor...

    Conteúdo patrocinado


    [Resolvido]Ribbon ou menu tradicional 2003, qual melhor para resolução Empty Re: [Resolvido]Ribbon ou menu tradicional 2003, qual melhor para resolução

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 29/4/2024, 13:55