elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado:


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP)
| | | |-+  Programación Visual Basic (Moderadores: LeandroA, seba123neo)
| | | | |-+  Formulario independiente de la Resolucion de Pantalla
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Formulario independiente de la Resolucion de Pantalla  (Leído 3,507 veces)
Partel

Desconectado Desconectado

Mensajes: 11


Ver Perfil
Formulario independiente de la Resolucion de Pantalla
« en: 15 Enero 2013, 16:41 pm »

Saludos,   estoy liado con un tema que seguro podeis ayudarme.

Los formularios no se representan igual en todos los PC's, está en función de la resolución de la pantalla.
Los Form's y sus Label's, Text's etc. no consigo que se coloquen, quedan fuera del form sin verse, etc.

Estoy siguiendo esto de MSN:

http://support.microsoft.com/kb/182070/es


Lo he copiado en un nuevo proyecto y no me funciona, el tamaño del Form si lo ajusta, pero los demás TEXT, o Label, no los cambia ni de tamaño ni los reubica, quedan invisibles, dependiendo de donde se encuentren en la pantalla. inicial.

Podeis ayudarme ?
Saludos.



En línea

Danyfirex


Desconectado Desconectado

Mensajes: 493


My Dear Mizuho


Ver Perfil
Re: Formulario independiente de la Resolucion de Pantalla
« Respuesta #1 en: 15 Enero 2013, 17:01 pm »

A mi me funciona perfecto.

seguro pusiste el nombre por defecto de los controles?


En línea

Partel

Desconectado Desconectado

Mensajes: 11


Ver Perfil
Re: Formulario independiente de la Resolucion de Pantalla
« Respuesta #2 en: 18 Enero 2013, 10:18 am »

Si, por defecto y coinciden los nombres.

Pero no funciona..
Lo hace a la inversa..
Lo he creado en resolución de pantalla baja y cuando lo ejecuto en uan resolución alta lo que ocurre es que se hacen mayores los botones y las letras de los label.

Saludos
En línea

seba123neo
Moderador
***
Desconectado Desconectado

Mensajes: 3.621



Ver Perfil WWW
Re: Formulario independiente de la Resolucion de Pantalla
« Respuesta #3 en: 18 Enero 2013, 13:41 pm »

lo que tenes que hacer es ajustar los controles al formulario de tal forma que mantengan la posicion y relacion entre unos y otros siempre igual, si haces eso, automaticamente se ajustara a la resolucion que haya en la pc, las letra de los controles no deben cambiar de tamaño, aca tenes como ajustar los controles al form, es casi lo mismo que la propiedad Anchor de .NET que permite hacer justamente esto.

Redimensionar controles
« Última modificación: 18 Enero 2013, 14:16 pm por seba123neo » En línea

Danyfirex


Desconectado Desconectado

Mensajes: 493


My Dear Mizuho


Ver Perfil
Re: Formulario independiente de la Resolucion de Pantalla
« Respuesta #4 en: 18 Enero 2013, 13:52 pm »

mmm claro porque el ejemplo por defecto tiene 800 x 600

usando GetSystemMetrics lo solucionas.



Código
  1. Option Explicit
  2. Private Declare Function GetSystemMetrics Lib "user32" _
  3. (ByVal nIndex As Long) As Long
  4. Const SM_CXSCREEN As Long = 0
  5. Const SM_CYSCREEN As Long = 1
  6.  
  7.      Dim MyForm As FRMSIZE
  8.      Dim DesignX As Integer
  9.      Dim DesignY As Integer
  10.  
  11.      Private Sub Form_Load()
  12.      Dim ScaleFactorX As Single, ScaleFactorY As Single  ' Scaling factors
  13.      ' Size of Form in Pixels at design resolution
  14.      DesignX = GetSystemMetrics(SM_CXSCREEN) ' aquí para X
  15.      DesignY = GetSystemMetrics(SM_CYSCREEN) ' aquí para Y
  16.      RePosForm = True   ' Flag for positioning Form
  17.      DoResize = False   ' Flag for Resize Event
  18.      ' Set up the screen values
  19.      Xtwips = Screen.TwipsPerPixelX
  20.      Ytwips = Screen.TwipsPerPixelY
  21.      Ypixels = Screen.Height / Ytwips ' Y Pixel Resolution
  22.      Xpixels = Screen.Width / Xtwips  ' X Pixel Resolution
  23.  
  24.      ' Determine scaling factors
  25.      ScaleFactorX = (Xpixels / DesignX)
  26.      ScaleFactorY = (Ypixels / DesignY)
  27.      ScaleMode = 1  ' twips
  28.      'Exit Sub  ' uncomment to see how Form1 looks without resizing
  29.      Resize_For_Resolution ScaleFactorX, ScaleFactorY, Me
  30.      Label1.Caption = "Current resolution is " & Str$(Xpixels) + _
  31.       "  by " + Str$(Ypixels)
  32.      MyForm.Height = Me.Height ' Remember the current size
  33.      MyForm.Width = Me.Width
  34.      End Sub
  35.  
  36.      Private Sub Form_Resize()
  37.      Dim ScaleFactorX As Single, ScaleFactorY As Single
  38.  
  39.      If Not DoResize Then  ' To avoid infinite loop
  40.         DoResize = True
  41.         Exit Sub
  42.      End If
  43.  
  44.      RePosForm = False
  45.      ScaleFactorX = Me.Width / MyForm.Width   ' How much change?
  46.      ScaleFactorY = Me.Height / MyForm.Height
  47.      Resize_For_Resolution ScaleFactorX, ScaleFactorY, Me
  48.      MyForm.Height = Me.Height ' Remember the current size
  49.      MyForm.Width = Me.Width
  50.      End Sub
  51.  
  52.      Private Sub Command1_Click()
  53.      Dim ScaleFactorX As Single, ScaleFactorY As Single
  54.  
  55.      DesignX = Xpixels
  56.      DesignY = Ypixels
  57.      RePosForm = True
  58.      DoResize = False
  59.      ' Set up the screen values
  60.      Xtwips = Screen.TwipsPerPixelX
  61.      Ytwips = Screen.TwipsPerPixelY
  62.      Ypixels = Screen.Height / Ytwips ' Y Pixel Resolution
  63.      Xpixels = Screen.Width / Xtwips  ' X Pixel Resolution
  64.  
  65.      ' Determine scaling factors
  66.      ScaleFactorX = (Xpixels / DesignX)
  67.      ScaleFactorY = (Ypixels / DesignY)
  68.      Resize_For_Resolution ScaleFactorX, ScaleFactorY, Me
  69.      Label1.Caption = "Current resolution is " & Str$(Xpixels) + _
  70.       "  by " + Str$(Ypixels)
  71.      MyForm.Height = Me.Height ' Remember the current size
  72.      MyForm.Width = Me.Width
  73.      End Sub
  74.  
  75.  

saludos
En línea

Partel

Desconectado Desconectado

Mensajes: 11


Ver Perfil
Re: Formulario independiente de la Resolucion de Pantalla
« Respuesta #5 en: 21 Enero 2013, 09:42 am »



Lo miro y realizo pruebas...

Gracias
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines