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


    Redimencionar Form automaticamenter.

    avatar
    renatojmaia
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 54
    Registrado : 16/11/2012

    Redimencionar Form automaticamenter. Empty Redimencionar Form automaticamenter.

    Mensagem  renatojmaia 4/6/2014, 13:12

    Estou com dificuldade no meu projeto quanto ao redimensionamento dos form de acordo com a resolução do micros.
    andei pesquisando encontrei um artigo no suporte do windows:
    "Como criar um formulário independente de resolução"
    forneceram os seguintes código para form:
    Código:
    Option Compare Database
    Option Explicit
          Dim MyForm As FRMSIZE
          Dim DesignX As Integer
          Dim DesignY As Integer

    Private Sub Form_Load()
          Dim ScaleFactorX As Single, ScaleFactorY As Single  ' Scaling factors
          ' Size of Form in Pixels at design resolution
          DesignX = 800
          DesignY = 600
          RePosForm = True   ' Flag for positioning Form
          DoResize = False   ' Flag for Resize Event
          ' Set up the screen values
          Xtwips = Screen.TwipsPerPixelX
          Ytwips = Screen.TwipsPerPixelY
          Ypixels = Screen.Height / Ytwips ' Y Pixel Resolution
          Xpixels = Screen.Width / Xtwips  ' X Pixel Resolution

          ' Determine scaling factors
          ScaleFactorX = (Xpixels / DesignX)
          ScaleFactorY = (Ypixels / DesignY)
          ScaleMode = 1  ' twips
          'Exit Sub  ' uncomment to see how Form1 looks without resizing
          Resize_For_Resolution ScaleFactorX, ScaleFactorY, Me
          Label1.Caption = "Current resolution is " & Str$(Xpixels) + _
           "  by " + Str$(Ypixels)
          MyForm.Height = Me.Height ' Remember the current size
          MyForm.Width = Me.Width
    End Sub

    Private Sub Form_Resize()
          Dim ScaleFactorX As Single, ScaleFactorY As Single

          If Not DoResize Then  ' To avoid infinite loop
             DoResize = True
             Exit Sub
          End If

          RePosForm = False
          ScaleFactorX = Me.Width / MyForm.Width   ' How much change?
          ScaleFactorY = Me.Height / MyForm.Height
          Resize_For_Resolution ScaleFactorX, ScaleFactorY, Me
          MyForm.Height = Me.Height ' Remember the current size
          MyForm.Width = Me.Width
    End Sub

    Private Sub Command1_Click()
          Dim ScaleFactorX As Single, ScaleFactorY As Single

          DesignX = Xpixels
          DesignY = Ypixels
          RePosForm = True
          DoResize = False
          ' Set up the screen values
          Xtwips = Screen.TwipsPerPixelX
          Ytwips = Screen.TwipsPerPixelY
          Ypixels = Screen.Height / Ytwips ' Y Pixel Resolution
          Xpixels = Screen.Width / Xtwips  ' X Pixel Resolution

          ' Determine scaling factors
          ScaleFactorX = (Xpixels / DesignX)
          ScaleFactorY = (Ypixels / DesignY)
          Resize_For_Resolution ScaleFactorX, ScaleFactorY, Me
          Label1.Caption = "Current resolution is " & Str$(Xpixels) + _
           "  by " + Str$(Ypixels)
          MyForm.Height = Me.Height ' Remember the current size
          MyForm.Width = Me.Width
    End Sub
    e este para um modulo no projeto:
    Código:
    Public Xtwips As Integer, Ytwips As Integer
          Public Xpixels As Integer, Ypixels As Integer

          Type FRMSIZE
             Height As Long
             Width As Long
          End Type

          Public RePosForm As Boolean
          Public DoResize As Boolean

          Sub Resize_For_Resolution(ByVal SFX As Single, _
           ByVal SFY As Single, MyForm As Form)
          Dim I As Integer
          Dim SFFont As Single

          SFFont = (SFX + SFY) / 2  ' average scale
          ' Size the Controls for the new resolution
          On Error Resume Next  ' for read-only or nonexistent properties
          With MyForm
            For I = 0 To .Count - 1
             If TypeOf .Controls(I) Is ComboBox Then   ' cannot change Height
               .Controls(I).Left = .Controls(I).Left * SFX
               .Controls(I).Top = .Controls(I).Top * SFY
               .Controls(I).Width = .Controls(I).Width * SFX
             Else
               .Controls(I).Move .Controls(I).Left * SFX, _
                .Controls(I).Top * SFY, _
                .Controls(I).Width * SFX, _
                .Controls(I).Height * SFY
             End If
               ' Be sure to resize and reposition before changing the FontSize
               .Controls(I).FontSize = .Controls(I).FontSize * SFFont
            Next I
            If RePosForm Then
              ' Now size the Form
              .Move .Left * SFX, .Top * SFY, .Width * SFX, .Height * SFY
            End If
          End With
          End Sub
    estes cógigos me retorna o seguinte erro:

    Redimencionar Form automaticamenter. <img src=" />

    as linhas são:
         Xtwips = Screen.TwipsPerPixelX
         Ytwips = Screen.TwipsPerPixelY
    e

         ScaleFactorY = Me.Height / MyForm.Height

    como faço para solucionar tal erro?


    Última edição por renatojmaia em 4/6/2014, 13:19, editado 2 vez(es) (Motivo da edição : alterar texto)
    avatar
    renatojmaia
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 54
    Registrado : 16/11/2012

    Redimencionar Form automaticamenter. Empty Re: Redimencionar Form automaticamenter.

    Mensagem  renatojmaia 4/6/2014, 16:55

    Arquivo BD de teste.
    Anexos
    Redimencionar Form automaticamenter. Attachmenttesteform.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (42 Kb) Baixado 20 vez(es)

      Data/hora atual: 23/11/2024, 21:05