MaximoAccess

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

Obrigado

Administração do MaximoAccess

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


    [Resolvido]Redimensionar formulário automaticamente em qualquer monitor

    avatar
    Tony Arruda
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 75
    Registrado : 20/08/2011

    [Resolvido]Redimensionar formulário automaticamente em qualquer monitor Empty Redimensionar formulário automaticamente em qualquer monitor

    Mensagem  Tony Arruda em 25/2/2012, 02:20

    Boa noite.

    Tenho um BD instalado em um PC com monitor de 19 polegadas e toda vez que tenho que fazer alguma alteração em seus formulários tenho que reajustar os forms (literalmente esticando-os)um a um, existe outra forma deles se adequarem a qualquer monitor sem ter fazer sempre desse jeito?

    Obrigado desde já pela atenção.
    avatar
    Convidad
    Convidado

    [Resolvido]Redimensionar formulário automaticamente em qualquer monitor Empty Re: [Resolvido]Redimensionar formulário automaticamente em qualquer monitor

    Mensagem  Convidad em 25/2/2012, 02:28


    Olá!

    Uma busca por "redimensionar" lhe trará resultados interessantes, como este exemplo:

    http://maximoaccess.forumeiros.com/t5429-redimensionar-formulario-de-acordo-a-resolucao-da-tela?highlight=redimensionar
    avatar
    Tony Arruda
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 75
    Registrado : 20/08/2011

    [Resolvido]Redimensionar formulário automaticamente em qualquer monitor Empty Re: [Resolvido]Redimensionar formulário automaticamente em qualquer monitor

    Mensagem  Tony Arruda em 25/2/2012, 02:45

    Boa noite.

    Realmente eu pesquisei depois de ter aberto o tópico e havia encontrado o mesmo exemplo, mas na verdade eu me confundi um pouco na declaração do tópico, o que eu quero realmente é deixar um form principal que tenho, que é um pouco grande na altura, com o mesmo tamanho original em qualquer tela. É possível isto acontecer?

    Obrigado pela atenção
    cafpr
    cafpr
    Developer
    Developer

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 969
    Registrado : 08/02/2011

    [Resolvido]Redimensionar formulário automaticamente em qualquer monitor Empty Re: [Resolvido]Redimensionar formulário automaticamente em qualquer monitor

    Mensagem  cafpr em 25/2/2012, 02:45

    Eu utilizo este em todos os Bd que desenvolvo, do colega e amigo JPaulo

    Salve este modulo com o nome de "modResizeForm"
    e nos formularios no evento ao carregar

    Private Sub Form_Load()
    ReSizeForm Me
    End Sub


    Option Compare Database
    Option Explicit

    '******************************Aqui você vai colocar a resolução desejada************************************
    '-----------------------------MODULE CONSTANTS & VARIABLES------------------------------
    Private Const DESIGN_HORZRES As Long = 1024 ' 1680 '1280 '800 '640 '<- CHANGE THIS VALUE TO THE RESOLUTION
    'YOU DESIGNED YOUR FORMS IN.
    '(e.g. 800 X 600 -> 800)
    Private Const DESIGN_VERTRES As Long = 768 '1050 '1024 '600 '480 '<- CHANGE THIS VALUE TO THE RESOLUTION
    'YOU DESIGNED YOUR FORMS IN.
    '(e.g. 800 X 600 -> 600)
    Private Const DESIGN_PIXELS As Long = 96 '<- CHANGE THIS VALUE TO THE DPI
    'SETTING YOU DESIGNED YOUR FORMS IN.
    '(If in doubt do not alter the
    'DESIGN_PIXELS setting as most
    'systems use 96 dpi.)
    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 'Module level variable holds the
    'original window dimensions before
    'resize.

    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
    '-------------------------- END MODULE CONSTANTS & VARIABLES----------------------------

    '------------------------------------API DECLARATIONS-----------------------------------
    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
    '--------------------------------- END API DECLARATIONS----------------------------------

    '---------------------------------------------------------------------------------------
    ' Procedure : getScreenResolution
    ' DateTime : 27/01/2003
    ' Author : Jamie Czernik
    ' Purpose : Function returns the current height, width and dpi.
    '---------------------------------------------------------------------------------------
    Private Function getScreenResolution() As tDisplay

    Dim hDCcaps As Long
    Dim lngRtn As Long

    On Error Resume Next

    'API call get current resolution:-
    hDCcaps = WM_apiGetDC(0) 'Get display context for desktop (hwnd = 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) 'Release display context.

    End Function

    '---------------------------------------------------------------------------------------
    ' Procedure : getFactor
    ' DateTime : 27/01/2003
    ' Author : Jamie Czernik
    ' Purpose : Function returns the value that the form's/control's height, width, top &
    ' left should be multiplied by to fit the current screen resolution.
    '---------------------------------------------------------------------------------------
    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 'Error with dpi reported so assume 96 dpi.
    End If
    If blnVert Then 'return vertical resolution.
    getFactor = (getScreenResolution.Height / DESIGN_VERTRES) * sngFactorP
    Else 'return horizontal resolution.
    getFactor = (getScreenResolution.Width / DESIGN_HORZRES) * sngFactorP
    End If

    End Function

    '---------------------------------------------------------------------------------------
    ' Procedure : ReSizeForm
    ' DateTime : 27/01/2003
    ' Author : Jamie Czernik
    ' Purpose : Routine should be called on a form's onOpen or onLoad event.
    '---------------------------------------------------------------------------------------
    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
    Dim sngFontFactor As Single

    On Error Resume Next

    sngVertFactor = getFactor(True) 'Local function returns vertical size change.
    sngHorzFactor = getFactor(False) 'Local function returns horizontal size change.
    'Choose lowest factor for resizing fonts:-
    sngFontFactor = VBA.IIf(sngHorzFactor < sngVertFactor, sngHorzFactor, sngVertFactor)
    Resize sngVertFactor, sngHorzFactor, sngFontFactor, frm 'Local procedure to resize form sections & controls.
    If WM_apiIsZoomed(frm.hwnd) = 0 Then 'Don't change window settings for max'd form.
    Access.DoCmd.RunCommand acCmdAppMaximize 'Maximize the Access Window.
    'Store for dimensions in rectWindow:-
    Call WM_apiGetWindowRect(frm.hwnd, rectWindow)
    'Calculate and store form height and width in local variables:-
    With rectWindow
    lngWidth = .right - .left
    lngHeight = .bottom - .Top
    End With
    'Resize the form window as required (don't resize this for sub forms):-
    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 'Free up resources.

    End Sub

    '---------------------------------------------------------------------------------------
    ' Procedure : Resize
    ' DateTime : 27/01/2003
    ' Author : Jamie Czernik
    ' Purpose : Routine re-scales the form sections and controls.
    '---------------------------------------------------------------------------------------
    Private Sub Resize(sngVertFactor As Single, sngHorzFactor As Single, sngFontFactor As _
    Single, ByVal frm As Access.Form)

    Dim ctl As Access.Control 'Form control variable.
    Dim arrCtls() As tControl 'Array of Tab and Option Group control properties.
    Dim lngI As Long 'Loop counter.
    Dim lngJ As Long 'Loop counter.
    Dim lngWidth As Long 'Stores form's new width.
    Dim lngHeaderHeight As Long 'Stores header's new height.
    Dim lngDetailHeight As Long 'Stores detail's new height.
    Dim lngFooterHeight As Long 'Stores footer's new height.
    Dim blnHeaderVisible As Boolean 'True if form header visible before resize.
    Dim blnDetailVisible As Boolean 'True if form detail visible before resize.
    Dim blnFooterVisible As Boolean 'True if form footer visible before resize.
    Const FORM_MAX As Long = 31680 'Maximum possible form width & section height.

    On Error Resume Next

    With frm
    .Painting = False 'Turn off form painting.
    'Calculate form's new with and section heights and store in local variables
    'for later use:-
    lngWidth = .Width * sngHorzFactor
    lngHeaderHeight = .Section(Access.acHeader).Height * sngVertFactor
    lngDetailHeight = .Section(Access.acDetail).Height * sngVertFactor
    lngFooterHeight = .Section(Access.acFooter).Height * sngVertFactor
    'Now maximize the form's width and height while controls are being resized:-
    .Width = FORM_MAX
    .Section(Access.acHeader).Height = FORM_MAX
    .Section(Access.acDetail).Height = FORM_MAX
    .Section(Access.acFooter).Height = FORM_MAX
    'Hiding form sections during resize prevents invalid page fault after
    'resizing column widths for list boxes on forms with a header/footer:-
    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
    'Resize array to hold 1 element:-
    ReDim arrCtls(0)
    'Gather properties for Tabs and Option Groups to recify height/width problems:-
    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) 'Increase the size of the array.
    End If
    Next ctl
    'Resize and locate each control:-
    For Each ctl In frm.Controls
    If ctl.ControlType <> Access.acPage Then 'Ignore pages in Tab controls.
    With ctl
    .Height = .Height * sngVertFactor
    .left = .left * sngHorzFactor
    .Top = .Top * sngVertFactor
    .Width = .Width * sngHorzFactor
    .FontSize = .FontSize * sngFontFactor
    'Enhancement by Myke Myers --------------------------------------->
    'Fix certain Combo Box, List Box and Tab control properties:-
    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 enhancement by Myke Myers.
    End With
    End If
    Next ctl
    '********************************************************
    '* Note if scaling form up: If Tab controls or Option *
    '* Groups are too near the bottom or right side of the *
    '* form they WILL distort due to the way that Access *
    '* keeps the child controls within the control frame. *
    '* Try moving these controls left or up if possible. *
    '* The opposite is true for scaling down so in this *
    '* case try moving these controls right or down. *
    '********************************************************
    'Now try to rectify Tabs and Option Groups height/widths:-
    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
    'Now resize height for each section and form width using stored values:-
    With frm
    .Width = lngWidth
    .Section(Access.acHeader).Height = lngHeaderHeight
    .Section(Access.acDetail).Height = lngDetailHeight
    .Section(Access.acFooter).Height = lngFooterHeight
    'Now unhide form sections:-
    .Section(Access.acHeader).Visible = blnHeaderVisible
    .Section(Access.acDetail).Visible = blnDetailVisible
    .Section(Access.acFooter).Visible = blnFooterVisible
    .Painting = True 'Turn form painting on.
    End With
    Erase arrCtls 'Destory array.
    Set ctl = Nothing 'Free up resources.

    End Sub

    '---------------------------------------------------------------------------------------
    ' Procedure : getTopOffset
    ' DateTime : 27/01/2003
    ' Author : Jamie Czernik
    ' Purpose : Function returns the total size in pixels of menu/toolbars at the top of
    ' the Access window allowing the form to be positioned in the centre of the
    ' screen.
    '---------------------------------------------------------------------------------------
    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:
    'Assume only 1 visible command bar plus the title bar:
    getTopOffset = TITLEBAR_PIXELS + COMMANDBAR_PIXELS
    Resume exit_fun

    End Function

    '---------------------------------------------------------------------------------------
    ' Procedure : getLeftOffset
    ' DateTime : 27/01/2003
    ' Author : Jamie Czernik
    ' Purpose : Function returns the total size in pixels of menu/toolbars at the left of
    ' the Access window allowing the form to be positioned in the centre of the
    ' screen.
    '---------------------------------------------------------------------------------------
    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:
    'Assume no visible command bars:-
    getLeftOffset = 0
    Resume exit_fun

    End Function

    '---------------------------------------------------------------------------------------
    ' Procedure : adjustColumnWidths
    ' DateTime : 27/01/2003
    ' Author : Myke Myers [Split() replacement for Access 97 by Jamie Czernik]
    ' Purpose : Adjusts column widths for list boxes and combo boxes.
    ' Called By : modResize/Resize().
    ' Event Modification Information:
    ' 1. Chris Garland 02/07/2006
    ' The event was modified to check if there is any column size entry, and if not, the
    ' property is left blank on the control.
    '---------------------------------------------------------------------------------------
    Private Function adjustColumnWidths(strColumnWidths As String, sngFactor As Single) As String
    On Error GoTo Err_adjustColumnWidths

    Dim astrColumnWidths() As String 'Array to hold the individual column widths
    Dim strTemp As String 'Holds the recombined columnwidths string
    Dim lngI As Long 'For Loop counter
    Dim lngJ As Long 'Columnwidths counter

    'Get the column widths:-
    'THIS CODE BY JAMIE CZERNIK------------------------------------------->
    'Replace the Split() function as not available in Access 97:
    'Sets the array to one entry.
    ReDim astrColumnWidths(0)
    'Loops through each character in the Column Widths String passed in by the calling code.
    For lngI = 1 To VBA.Len(strColumnWidths)
    'Looks for each semicolon, which is what separates the individual Column Widths.
    Select Case VBA.Mid(strColumnWidths, lngI, 1)
    'If a semicolon is not found, the character is added to the any characters
    ' already in the columnwidths entry in the array. If it is found, the
    ' Columnwidths Counter is incremented by one and the array is increased by
    ' one while retaining entered data so that the next columnwidth can be entered.
    Case Is <> ";"
    astrColumnWidths(lngJ) = astrColumnWidths(lngJ) & VBA.Mid( _
    strColumnWidths, lngI, 1)
    Case ";"
    lngJ = lngJ + 1
    ReDim Preserve astrColumnWidths(lngJ) 'Resize the array.
    End Select
    Next lngI
    'Resets the loop counter to 0.
    lngI = 0
    '--------------------------------------------> END CODE BY JAMIE CZERNIK.
    'Access 2000/2002 users can uncomment the line below and remove the split() code
    'replacement above.
    'astrColumnWidths = Split(strColumnWidths, ";")'Available in Access 2000/2002 only
    strTemp = VBA.vbNullString 'Sets the temp variable to a null string
    'Loops through the all the columnwidths in the array, converting them to the new sizes
    ' (using the Width Size Conversion Factor that was passed-in), and recombining them
    ' into a single string to pass back to the calling code. (If there is no Column Width,
    ' the value is left blank.)
    Do Until lngI > UBound(astrColumnWidths)
    If Not IsNull(astrColumnWidths(lngI)) And astrColumnWidths(lngI) <> "" Then
    strTemp = strTemp & CSng(astrColumnWidths(lngI)) * sngFactor & ";"
    End If
    lngI = lngI + 1
    Loop
    'Returns the combined columnwidths string to the calling code.
    adjustColumnWidths = strTemp
    Erase astrColumnWidths 'Destroy array.

    Exit_adjustColumnWidths:
    On Error Resume Next
    Exit Function

    Err_adjustColumnWidths:
    Erase astrColumnWidths 'Destroy array.
    Resume Exit_adjustColumnWidths

    End Function

    '---------------------------------------------------------------------------------------
    ' Procedure : getOrigWindow
    ' DateTime : 27/01/2003
    ' Author : Jamie Czernik
    ' Purpose : Routine stores the original window dimensions before resizing call it
    ' when form loads. (before calling ResizeForm Me!).
    ' Call it: Form_Load()
    ' [More info in "Important Points" - point 5 - in help file.]
    '---------------------------------------------------------------------------------------
    Public Sub getOrigWindow(frm As Access.Form)

    On Error Resume Next

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

    End Sub

    '---------------------------------------------------------------------------------------
    ' Procedure : RestoreWindow
    ' DateTime : 27/01/2003
    ' Author : Jamie Czernik
    ' Purpose : Routine restores the original window dimensions call it when form closes.
    ' Call it: Form_Close()
    ' [More info in "Important Points" - point 5 - in help file.]
    '---------------------------------------------------------------------------------------
    Public Sub RestoreWindow()

    On Error Resume Next

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

    End Sub

    avatar
    Tony Arruda
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 75
    Registrado : 20/08/2011

    [Resolvido]Redimensionar formulário automaticamente em qualquer monitor Empty Re: [Resolvido]Redimensionar formulário automaticamente em qualquer monitor

    Mensagem  Tony Arruda em 25/2/2012, 02:51

    Olá, vou tentar e depois lhe dou um retorno.

    Desde já obrigado pela atenção.
    avatar
    Tony Arruda
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 75
    Registrado : 20/08/2011

    [Resolvido]Redimensionar formulário automaticamente em qualquer monitor Empty Re: [Resolvido]Redimensionar formulário automaticamente em qualquer monitor

    Mensagem  Tony Arruda em 25/2/2012, 04:04

    Olá cafpr, eu testei e apenas 1 form (o meu maior) está encolhendo o rodapé dele escondendo assim alguns campos e controles. Eu não uso barra de rolagem nele, será que vou ter que usar?

    aguardo seu retorno
    cafpr
    cafpr
    Developer
    Developer

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 969
    Registrado : 08/02/2011

    [Resolvido]Redimensionar formulário automaticamente em qualquer monitor Empty Re: [Resolvido]Redimensionar formulário automaticamente em qualquer monitor

    Mensagem  cafpr em 25/2/2012, 04:21

    E antes como era??? Ele esta fora de qualquer padrão, eu entraria no modo design e ajustaria os campos.....se é somente um form...
    E os outros como ficaram???
    avatar
    Tony Arruda
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 75
    Registrado : 20/08/2011

    [Resolvido]Redimensionar formulário automaticamente em qualquer monitor Empty Re: [Resolvido]Redimensionar formulário automaticamente em qualquer monitor

    Mensagem  Tony Arruda em 25/2/2012, 14:09

    Bom dia,
    O form citado, por ter muitos campos, está com uma altura suficiente para ficar bem rente ao topo e ao rodapé da janela do access, quanto aos outros, por serem menores, ficaram bons. Uma dúvida, isso acontece quando tenho que fazer alguma alteração (modo design)nele, então quando termino ele volta com a lateral direita e a parte de baixo encolhidos, isso é normal? O que queria evitar era maximizar pois, acho que esteticamente ele não ficará tão interessante já que os outros não o são.

    Obrigado pela atenção, aguardo se retorno.
    cafpr
    cafpr
    Developer
    Developer

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 969
    Registrado : 08/02/2011

    [Resolvido]Redimensionar formulário automaticamente em qualquer monitor Empty Re: [Resolvido]Redimensionar formulário automaticamente em qualquer monitor

    Mensagem  cafpr em 25/2/2012, 17:53

    Boa tarde colega Antonio, tudo tranquilo......
    Há um anexo de parte de um Bd que fiz a um cliente. Veja a tabela "tblControlo" e o evento ao carregar do formulario. Com ela (tabela) eu manipulo o tamanho de cada formulario ou se quiser de todos, posicionando eles junto com o código que lhe passei em qualquer tela. Assim todos ficam sobrepostos como se fossem um só....essa aplicação eu uso como padrão em todos os bd que desenvolvo e agora compartilho contigo e o forum....bom estudo....

    http://speedy.sh/h3JTm/AntonioMaximoAccess.rar
    avatar
    Tony Arruda
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 75
    Registrado : 20/08/2011

    [Resolvido]Redimensionar formulário automaticamente em qualquer monitor Empty Re: [Resolvido]Redimensionar formulário automaticamente em qualquer monitor

    Mensagem  Tony Arruda em 25/2/2012, 21:57

    Boa noite amigo Clóvis.

    Dei uma olhada agora por cima sem me deter nos detalhes pelo pouco tenho que estou agora, mas gostei muito do exemplo, obrigado por sua gentileza e disponibilidade em atender tão prontamente a quem precisa de ajuda, vou estudar detalhadamente o seu exemplo e lhe darei um retorno assim que puder.

    Que Deus lhe abençoe e lhe guarde.
    avatar
    Tony Arruda
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 75
    Registrado : 20/08/2011

    [Resolvido]Redimensionar formulário automaticamente em qualquer monitor Empty Re: [Resolvido]Redimensionar formulário automaticamente em qualquer monitor

    Mensagem  Tony Arruda em 16/3/2012, 19:15

    Boa tarde Clóvis.

    Sim, resultado muito positivo, agradeço sua colaboração e perdoe-me a demora do retorno.
    cafpr
    cafpr
    Developer
    Developer

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 969
    Registrado : 08/02/2011

    [Resolvido]Redimensionar formulário automaticamente em qualquer monitor Empty Re: [Resolvido]Redimensionar formulário automaticamente em qualquer monitor

    Mensagem  cafpr em 16/3/2012, 19:48

    O Forum fica contente em solucionar mais uma dúvida e agradecemos seu retorno..... até a próxima.....
    lusouza
    lusouza
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Feminino
    Localização : Brasil
    Mensagens : 104
    Registrado : 10/12/2012

    [Resolvido]Redimensionar formulário automaticamente em qualquer monitor Empty Link de exemplo resoluçao nao funciona

    Mensagem  lusouza em 26/2/2013, 18:39

    Gente estou com o mesmo problema , infelizmente o link acima nao esta funcionando, diz que o arquivo nao existe
    alguem poderia me ajudar ou publicar novamente o link?

    Grata
    Smile
    Luiz Carlos Junior
    Luiz Carlos Junior
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 473
    Registrado : 21/08/2012

    [Resolvido]Redimensionar formulário automaticamente em qualquer monitor Empty Re: [Resolvido]Redimensionar formulário automaticamente em qualquer monitor

    Mensagem  Luiz Carlos Junior em 22/8/2013, 14:16

    Muito bom o exemplo.
    Parabéns! cheers 
    avatar
    Kaynan
    Maximo VIP
    Maximo VIP

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 2410
    Registrado : 09/04/2012

    [Resolvido]Redimensionar formulário automaticamente em qualquer monitor Empty Re: [Resolvido]Redimensionar formulário automaticamente em qualquer monitor

    Mensagem  Kaynan em 22/8/2013, 14:32

    Chumbrega poderia postar o exemplo novamente,o link a cima esta com problemas,obrigado.
    Luiz Carlos Junior
    Luiz Carlos Junior
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 473
    Registrado : 21/08/2012

    [Resolvido]Redimensionar formulário automaticamente em qualquer monitor Empty Re: [Resolvido]Redimensionar formulário automaticamente em qualquer monitor

    Mensagem  Luiz Carlos Junior em 22/8/2013, 14:40

    Não copiei o exemplo.
    Ajustei o código no módulo 'modResizeForm' aos forms do meu BD.
    Abraços!
    avatar
    Kaynan
    Maximo VIP
    Maximo VIP

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 2410
    Registrado : 09/04/2012

    [Resolvido]Redimensionar formulário automaticamente em qualquer monitor Empty Re: [Resolvido]Redimensionar formulário automaticamente em qualquer monitor

    Mensagem  Kaynan em 22/8/2013, 15:03

    Manda um exemplo deste teu bd pra gente,te pago uma duzia de cerveja quando for ai ehehehee.
    Luiz Carlos Junior
    Luiz Carlos Junior
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 473
    Registrado : 21/08/2012

    [Resolvido]Redimensionar formulário automaticamente em qualquer monitor Empty Re: [Resolvido]Redimensionar formulário automaticamente em qualquer monitor

    Mensagem  Luiz Carlos Junior em 22/8/2013, 15:16

    Tentadora a proposta...HAHAHA
    Mas velho, vou te falar o que fiz:

    Copiei o código do módulo e criei o modResizeForm (como foi dito acima).
    Depois fui nos eventos "Ao Abrir" dos meus forms e coloquei o comando "ResizeForm Me"
    Nada mais...
    Aqui funcionou.

    PS: Ainda aceito a duzia...HAHAHA

    Abraços...
    avatar
    Kaynan
    Maximo VIP
    Maximo VIP

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 2410
    Registrado : 09/04/2012

    [Resolvido]Redimensionar formulário automaticamente em qualquer monitor Empty Re: [Resolvido]Redimensionar formulário automaticamente em qualquer monitor

    Mensagem  Kaynan em 22/8/2013, 15:50

    Legal,agora funcionou nos meus também.

    PS:Me espere que to chegando com todas bem geladinhas hahahaha.

    Abçs.
    Luiz Carlos Junior
    Luiz Carlos Junior
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 473
    Registrado : 21/08/2012

    [Resolvido]Redimensionar formulário automaticamente em qualquer monitor Empty Re: [Resolvido]Redimensionar formulário automaticamente em qualquer monitor

    Mensagem  Luiz Carlos Junior em 22/8/2013, 16:00

    cheers cheers cheers
    lusouza
    lusouza
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Feminino
    Localização : Brasil
    Mensagens : 104
    Registrado : 10/12/2012

    [Resolvido]Redimensionar formulário automaticamente em qualquer monitor Empty [Resolvido]Redimensionar formulário automaticamente em qualquer monitor

    Mensagem  lusouza em 9/3/2014, 05:20

    O meu funcionou , mas ficou muito colado na parte superior do monitor , teria algum comando para dar um espaço ?
    avatar
    Tony Arruda
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 75
    Registrado : 20/08/2011

    [Resolvido]Redimensionar formulário automaticamente em qualquer monitor Empty Re: [Resolvido]Redimensionar formulário automaticamente em qualquer monitor

    Mensagem  Tony Arruda em 9/3/2014, 22:48

    Olá, vou olhar aqui no meu bd e depois respondo.
    lusouza
    lusouza
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Feminino
    Localização : Brasil
    Mensagens : 104
    Registrado : 10/12/2012

    [Resolvido]Redimensionar formulário automaticamente em qualquer monitor Empty [Resolvido]Redimensionar formulário automaticamente em qualquer monitor

    Mensagem  lusouza em 9/3/2014, 23:20

    Ok , obrigada

    no aguardo Smile
    cafpr
    cafpr
    Developer
    Developer

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 969
    Registrado : 08/02/2011

    [Resolvido]Redimensionar formulário automaticamente em qualquer monitor Empty Re: [Resolvido]Redimensionar formulário automaticamente em qualquer monitor

    Mensagem  cafpr em 10/3/2014, 01:46

    lusouza
    lusouza
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Feminino
    Localização : Brasil
    Mensagens : 104
    Registrado : 10/12/2012

    [Resolvido]Redimensionar formulário automaticamente em qualquer monitor Empty [Resolvido]Redimensionar formulário automaticamente em qualquer monitor

    Mensagem  lusouza em 10/3/2014, 05:32

    Ta mais vc colocou a resolucao na mao na tabela , eu gostaria que o programa pegasse a resolucao de altura e largura , do pc ...
    Luiz Carlos Junior
    Luiz Carlos Junior
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 473
    Registrado : 21/08/2012

    [Resolvido]Redimensionar formulário automaticamente em qualquer monitor Empty Re: [Resolvido]Redimensionar formulário automaticamente em qualquer monitor

    Mensagem  Luiz Carlos Junior em 12/3/2014, 15:16

    Boa tarde Lu.

    Mudei o número nesta parte do código do módulo:

    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 = 10 'Aqui era 00. No meu ficou boa a distância. Faça o teste.
    Private OrigWindow As tWindow 'Module level variable holds the

    Beijos.
    lusouza
    lusouza
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Feminino
    Localização : Brasil
    Mensagens : 104
    Registrado : 10/12/2012

    [Resolvido]Redimensionar formulário automaticamente em qualquer monitor Empty [Resolvido]Redimensionar formulário automaticamente em qualquer monitor

    Mensagem  lusouza em 14/3/2014, 11:43

    Obrigada amigo Luiz Carlos Junior , vou fazer o teste Smile
    Luiz Carlos Junior
    Luiz Carlos Junior
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 473
    Registrado : 21/08/2012

    [Resolvido]Redimensionar formulário automaticamente em qualquer monitor Empty Re: [Resolvido]Redimensionar formulário automaticamente em qualquer monitor

    Mensagem  Luiz Carlos Junior em 14/3/2014, 12:05

    Disponha.
    Fico no aguardo do retorno.
    FabioLeitao
    FabioLeitao
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 21
    Registrado : 21/12/2016

    [Resolvido]Redimensionar formulário automaticamente em qualquer monitor Empty Re: [Resolvido]Redimensionar formulário automaticamente em qualquer monitor

    Mensagem  FabioLeitao em 28/3/2017, 01:11

    Boa Tarde, seria possivel alguem reupar o link para download do exemplo do amigo cafbr ?

    Estou com serios problemas para fazer com que o Access abra no tamanho do formulario principal e que o usuario nao possa redimensiona-lo.

    Obrigado
    tauron
    tauron
    VIP
    VIP

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1139
    Registrado : 07/12/2011

    [Resolvido]Redimensionar formulário automaticamente em qualquer monitor Empty Re: [Resolvido]Redimensionar formulário automaticamente em qualquer monitor

    Mensagem  tauron em 29/3/2017, 00:02

    O que vc quer dizer com redimensionar? Seria maximizar/minimiza ou esticar/encolher atraves da borda?
    avatar
    costa256
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 40
    Registrado : 22/01/2019

    [Resolvido]Redimensionar formulário automaticamente em qualquer monitor Empty Re: [Resolvido]Redimensionar formulário automaticamente em qualquer monitor

    Mensagem  costa256 em 14/11/2019, 12:13

    Amigos,

    alguém consegue editar esse código do JPaulo para 64 bits ?
    lupe
    lupe
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 449
    Registrado : 15/07/2010

    [Resolvido]Redimensionar formulário automaticamente em qualquer monitor Empty Re: [Resolvido]Redimensionar formulário automaticamente em qualquer monitor

    Mensagem  lupe em 14/11/2019, 19:28

    Olá!

    Poderia informar em qual linha ocorre o problema...

    Talvez baste acrescentar o PtrSafe para resolver.


    .................................................................................
    Dividir conhecimentos é contribuir para a evolução da humanidade.

    Conteúdo patrocinado

    [Resolvido]Redimensionar formulário automaticamente em qualquer monitor Empty Re: [Resolvido]Redimensionar formulário automaticamente em qualquer monitor

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 13/12/2019, 07:33