Título: [RESUELTO] Redimensionar formulario y controles a varios tamaños de pantallas Publicado por: TUNOVATO en 6 Diciembre 2006, 20:38 pm Mi duda es como hacer que controles (listView) contenidos en un formulario se adapten a la variedad de tamaños de pantallas, es decir, 800*600 / 1024*768 / 1280*768 / 1280*1024 se adapte a ella sin descuadrarse ni su tamaño y ubicacion..!!!!
he buscado pero no he encotrado...!!! a ver quie me puede ayudar se que existe google.com , pero me presentan ocx de pago.!!! Título: Re: Redimensionar formulario y controles a varios tamaños de pantallas Publicado por: CeLaYa en 6 Diciembre 2006, 21:06 pm debes usar el evento Resize de los controles
por ejemplo Código: Private Sub Form_Resize() listview1.Width = Me.ScaleWidth listview1.Height = Me.Scaleheight End Sub asi no importa que tamaño tenga el form, el Listview siempre se ajustara Título: Re: Redimensionar formulario y controles a varios tamaños de pantallas Publicado por: TUNOVATO en 7 Diciembre 2006, 22:10 pm [size20pt]CeLaYa[/size]
Gracias Compa...!!!! Encontre otra solucion a mi problema....!!! Solo se debe adaptar el codigo a los controles contenidos dentro del formulario....!!!! en este caso un ListView y Boton Código: 'Ejemplo de redimensionado seguro de formularios ' 'José Alberca 'alberca@usa.net ' 'Lo unico que hay que hacer es copiar el código que viene en este formulario y adaptarlo al que Ud. 'desee. Específicamente debe revisar el evento Initialize del formulario, donde se definen los valores 'minimos del mismo, asi como el procedimiento ResizeMe. Esto obviamente debido a que cada formulario 'debe tener valores mínimos en cuanto a sus dimensiones y ademas que no necesariamente dos o mas 'formularios poseen los mismos objetos, ni están distribuidos de la misma manera. Option Explicit 'Variables privadas del formulario Private MinHeight As Integer 'Altura minima del formulario (depende del formulario) Private MinWidth As Integer 'Ancho minimo del formulario (depende del formulario) Private CancelResize As Boolean 'Flag que indica si se cancela o no el redimensionado del formulario 'Inicializa los parametros a emplear en el redimensionado Private Sub Form_Initialize() CancelResize = True MinHeight = 360 MinWidth = 480 CancelResize = False End Sub 'Valida si se ejecuta el redimensionado Private Sub Form_Resize() If Not CancelResize Then If Me.WindowState = vbMaximized Then 'Redimensiona los controles Call ResizeMe ElseIf Not Me.WindowState = vbMinimized Then If Width < MinWidth Then CancelResize = True Width = MinWidth End If If Height < MinHeight Then CancelResize = True Height = MinHeight End If 'Redimensiona los controles Call ResizeMe End If End If CancelResize = False End Sub 'Redimensiona los objetos del formulario Private Sub ResizeMe() If Me.WindowState = vbNormal Or Me.WindowState = vbMaximized Then 'Ejemplo de código que podría ir en la rutina de redimensioinado On Error Resume Next ListView1.Move 0, 0, Me.ScaleWidth, Me.ScaleHeight - 100 - Command1.Height Command1.Top = ListView1.Height + 50 Command1.Left = Me.ScaleWidth - Command1.Width - 50 End If End Sub 'Descarga el formulario Private Sub Command1_Click() Unload Me End Sub Título: Re: Redimensionar formulario y controles a varios tamaños de pantallas Publicado por: CeLaYa en 7 Diciembre 2006, 22:32 pm no necesitas complicarlo tanto, todo eso lo puedes hacer asi:
Código: privatge sub Form_Resize() On local error resume next ListView1.Move 0, 0, Me.ScaleWidth, Me.ScaleHeight - 100 - Command1.Height Command1.Move ListView1.Height + 50, Me.ScaleWidth - Command1.Width - 50, command1.Width, Command1.Height On Local error goto 0 end sub La linea "On Local Error resume next" activa el control de errores asi si minimizas el form o lo pones de un tamaño muy pequeño en el que no se pueda ver el control tu programa no fallara. Al final pongo "On Local Error Goto 0" para desactivar el control de errores Título: Re: [RESUELTO] Redimensionar formulario y controles a varios tamaños de pantallas Publicado por: Carmol en 6 Abril 2007, 04:46 am Saludos.
Yo quisiera ir mas alla con la solucion del redimensionar el formulario y los controles y quisiera preguntarles como se haria para redimensionar tambien el tamaño de la letra?. Porque no tendria sentido tener un form maximizado con una letra 10 por ejemplo, la misma que se veria nien cuando el form este al tamaño normal. Gracias................... Título: Re: [RESUELTO] Redimensionar formulario y controles a varios tamaños de pantallas Publicado por: CeLaYa en 7 Abril 2007, 22:58 pm Saludos. Yo quisiera ir mas alla con la solucion del redimensionar el formulario y los controles y quisiera preguntarles como se haria para redimensionar tambien el tamaño de la letra?. Porque no tendria sentido tener un form maximizado con una letra 10 por ejemplo, la misma que se veria nien cuando el form este al tamaño normal. Gracias................... mmm, a ver prueba esto a ver si es a lo que te refieres: solo necesitas poner un label en un form y copiar este código: Código: Private Sub Form_Resize() Dim i As Integer, h As Long, w As Long Dim s As String Label1.Height = Me.ScaleHeight Label1.Width = Me.Width i = 8 h = 0 s = Label1.Caption Printer.Font = Label1.Font Printer.FontSize = 8 While h < Me.ScaleHeight And w < Me.ScaleWidth i = i + 1 h = Printer.TextHeight(s) w = Printer.TextWidth(s) Printer.FontSize = i Wend Label1.FontSize = i End Sub |