Home > Foro de Access >

Debates de Access

> Tamaño de ventanas!
Foro de Access
Foro de Access
1 Curso online | 4825 Debates | 272 Documentos | 3 Vídeos | 1 Test | 3 Blogs | 156 Imágenes | 5956 Miembros

Tamaño de ventanas!!!!!

AMINHA
Distrito Federal, Mé...
Escrito por Aminha Hurtado el 08/04/2008

Hola a todo el foro, me gustaría saber como le puedo hacer para darle un tamaño predeterminado a las ventanas que utilizo en mi sistema. Explico:

Tengo una ventana principal la cual utilizo el codigo

Private Sub Form_Open(Cancel As Integer)
    DoCmd. Maximize
End Sub

Pero el problema que tambien tengo ventanas mas chicas y me toma la configuracion de tamaño de DoCmd. Maximine... Abria manera  de solucionar mi problema y  que mis pantallas principales siempre esten maximizadas y las subventanas sean del tamaño chico y centradas?

Ojala puedan ayudarme... Saludos a todos!


compartir


Abraham Valencia
Computacion e informatica microsoft mv...
Escrito por Abraham Valencia el 08/04/2008
Pues usar MoveSize:

DoCmd. MoveSize 7938, 6804, 1026, 1206

En la ayuda del editor de VBa, encontraras los parametros :)

Estan en Twips

Abraham

Aminha Hurtado
Distrito Federal, Mé...
Escrito por Aminha Hurtado el 08/04/2008
Hola abraham... No entendi muy bien, este codigo hiria en el evento al abrir el formulario?
es forzoso que sean esos 4 parametros?
ahora mismo lo checo...
gracias por tu respuesta

Aminha Hurtado
Distrito Federal, Mé...
Escrito por Aminha Hurtado el 08/04/2008
Hola otra vez... Ya probe esto abraham y nada

DoCmd. MoveSize 7938, 6804, 1026, 1206
al momento de maximizar mi pantalla principal, se maximizan todas las pantallas, sin importar que tengan este código con lo valores , habrá otra manera... Algo así como programar una ventana (desde código fuente)

Saludos


Abraham Valencia
Computacion e informatica microsoft mv...
Escrito por Abraham Valencia el 08/04/2008
Colocalo en el evento OPEN.

Una cosa muy importante..... Al querer ver el formulario, tu entorno de access, esta expandido al maximo o se ve el fondo gris? Si esta expandido al maximo, no veraz el efecto del codio enviado. Prueba minimizando el entorno de access (que se vea "algo" del fondo gris), y prueba ahora a abrir el formulario.

Abraham

Aminha Hurtado
Distrito Federal, Mé...
Escrito por Aminha Hurtado el 08/04/2008
Hola nuevamente... Eso que me dices es exactamente lo que yo hago pero no es lo ideal,,,, cuando minimizo mi form aparecen las ventanas del tamaño que yo quiera.... Pero si maximizo  aparecen las ventanas tambien maximizadas... Yo me imaginoque esto se podra hacer con codigo que al momento no tengo ni idea... Tu abraham conoces algun codigo que me pueda ayudar, saludos!

Abraham Valencia
Computacion e informatica microsoft mv...
Escrito por Abraham Valencia el 09/04/2008
Si la aplicacion la quieres para otras personas, pues, lo que debes hacer es,en HERRAMIENTAS  - INICIO, desactiva la opcion "presentar la ventana base de datos", coloca un formulario de inicio, y a traves de el, y otros que tu tengas, maneja tus demas formularios, tus datos, etc, y veras que asi, siempre los formularios saldran/apareceran segun los codigos VBA que tengas, incluido el que te mande.

Si no "eliminas" la ventana de base de datos (entorno access), pues, se podria decir, que, como siempre esta la posibilidad de ver y/o usar el "modo diseño" de formularios y otros, y te seguira pasando lo que mencionas.

Abraham

Juan Cots
Valencia, España
Escrito por Juan Cots el 09/04/2008

Otra solución sería que en el evnto al abrir de los formularios que no quieres se maximizen poner

 DoCmd. Restore

Y se abrirán en su tamaño original

Un saludo


Aminha Hurtado
Distrito Federal, Mé...
Escrito por Aminha Hurtado el 09/04/2008
Perdón Abraham pero ya intente eso y nada... Desactive la opción "presentar la ventana base de datos" y nada... Sigue apareciendo maximizados todos los formularios.
y lo segundo que me planteas no lo entendí muy bien... " Si no"eliminas" la ventana de base de datos(entorno access), pues, se podría decir, que, comosiempre esta la posibilidad de ver y/o usar el"modo diseño" de formularios y otros, yt e seguirá pasando lo que mencionas. ".... Esto no lo entendí, a que te refieres con eliminar la ventana de base de datos?... Explícame mejor por que me agarraste de bajada... Saludos!


Abraham Valencia
Computacion e informatica microsoft mv...
Escrito por Abraham Valencia el 09/04/2008
Mira esto:

http://es.geocities.com/eavj666peru/bd2. Mdb

Abraham

Aminha Hurtado
Distrito Federal, Mé...
Escrito por Aminha Hurtado el 09/04/2008
"Hola nuevamente... Ya cheque tu ejemplo y no es exactamente lo que busco dado que ese ejemplo esta solamente minimizado a un valor dado. Ya que yo manejo form maximzados y sub form que actuan como ventanas... Te mando un saludo.

Juan Cots
Valencia, España
Escrito por Juan Cots el 09/04/2008

Hola Gerson

Has probado lo que te puse antes.

DoCmd. Restore

Yo creo que te va a funcionar


Abraham Valencia
Computacion e informatica microsoft mv...
Escrito por Abraham Valencia el 09/04/2008
Humm, pues la verdad, ya me enrede un poco... Intenta con la recomendacion de Juan,

Abraham

Aminha Hurtado
Distrito Federal, Mé...
Escrito por Aminha Hurtado el 10/04/2008
Perfecto juan.... No es precisamente lo que quería pero de igual manera me funciono... Muchas muchas gracias! Estamos en contacto juan, saludos!


Abraham Valencia
Computacion e informatica microsoft mv...
Escrito por Abraham Valencia el 10/04/2008
Despues de leer atentamente, todos los msjs, he comprendio, creo, al 100%.

Lo que deseas, como bien comentaste desde el inicio, que tu form principal, quede maximizado, y los demas, que vayan saliendo, pues, lo hagan con un tamaño predeterminado, y que el principal, se conserve maximizado.

como tu bien colocas, la opcion que envie, no es lo que deseas. La opcion de Juan, usando Restore, tendra el inconvniente que tambien hara que tu form principla, deje de estar maximizado.

Que pasa?

El API de acces no permite que las ventanas tenga total independencia de propiedades.  Una de las que tienen en comun es la sincronia en lo que respecta al tamaño y posicion.

Solucion?

Define tu form principal con un tamaño que simule el tamaño que tendria al estar maximizado, asi  al usar Restore ese form mantendra el tamaño que hara que visualmente paresca maximizado. Lo mismo tendrias que hacer con tus otros forms, darles un tamaño adecuado a tus necesidades y al usar el Restore, bingo

Abraham


Aminha Hurtado
Distrito Federal, Mé...
Escrito por Aminha Hurtado el 10/04/2008
Si... Estas en lo cierto, el docmd. Restore minimiza el form principal y la ventana me la muestra en tamaño predeterminado(como lo queria),  pero al momento de cerrar dicha ventana el form principal vuelve a su tamaño maximizado.... Como repito, no es lo que mejor se me adecuaba a mi sistema pero de igual manera me sirve mucho asi.... Estamos en contacto, gracias

Juan Cots
Valencia, España
Escrito por Juan Cots el 10/04/2008

Yo creo que la solución de Abraham es buena, si solo usas la BD en un ordenador, el problema lo tendrias si se usa en diferentes ordenadores, cada uno con un tamaño de pantalla diferente, por eso ya que nos hemos puesto a ello, aporto otra posibilidad que sería utilizar este código para que al abrir tu formulario principal se adapte a la ventana de Access sin usar DoCmd. Maximize

En el formulario al abrir hay que poner:

Call MaximizeRestoredForm(Me)

Para que el efecto sea casi identico al de Maximize, tendrías que poner en propiedades Estilo de los bordes: Ninguno

Y en un módulo pegar lo siguiente:
Option Compare Database
Option Explicit
Type Rect
    x1 As Long
    y1 As Long
    x2 As Long
    y2 As Long
End Type
Declare Function IsZoomed Lib "user32" (ByVal hWnd As Long) As Long
Declare Function ShowWindow Lib "user32" (ByVal hWnd As Long, ByVal _
    nCmdShow As Long) As Long
Declare Function MoveWindow Lib "user32" (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
Declare Function GetParent Lib "user32" (ByVal hWnd As Long) As Long
Declare Function GetClientRect Lib "user32" (ByVal hWnd As Long, lpRect _
    As Rect) As Long
Public Const SW_MAXIMIZE = 3
Public Const SW_SHOWNORMAL = 1
Sub MaximizeRestoredForm(F As Form)
    Dim MDIRect As Rect
    If IsZoomed(F. HWnd) <> 0 Then
        ShowWindow F. HWnd, SW_SHOWNORMAL
    End If
    GetClientRect GetParent(F. HWnd), MDIRect
    MoveWindow F. HWnd, 0, 0, MDIRect. X2 - MDIRect. X1, MDIRect. Y2 - MDIRect. Y1, True
End Sub




Albert Xaporosky
Barcelona, España
Escrito por Albert Xaporosky el 13/04/2010

Hola buenas, vayan por adelantado disculpas por ponerme por medio, pero andaba buscando una solucion a un problema parecido, la idea es que el formulario principal permanezca maximizado o grande como fondo único i que alli encima aparezcan el resto de formularios de la aplicacion, cada uno con su tamaño y su centraje.
he probado el codigo de Juan
Private Sub Form_Open(Cancel As Integer)
Call MaximizeRestoredForm(Me)
End Sub
y me da un error
"se esperaba una varible o un procedimiento, no un modulo"
sera por que he llamado al modulo "MaximizeRestoredForm"
no se el codigo siempre me frie y sin embargo me imanta.
muchas gracias y hasta pronto


Juan Cots
Valencia, España
Escrito por Juan Cots el 13/04/2010

Hola Albert.
Seguramente es por lo que tu comentas, simplemente cambia el nombre del módulo por (por ejemplo) "MaximizeRestoredAlbert" y debería funcionar perfectamente.
Un saludo


Albert Xaporosky
Barcelona, España
Escrito por Albert Xaporosky el 14/04/2010

Hola buenas, muchas gracias es perfecto, 10 de 10, funciona de forma perfecta,
en efecto el nombre del modulo que yo habia puesto hacia dar error.
hasta pronto




Responder


Quiero recibir alertas por email cuando haya mensajes nuevos en este debate

Debe cumplir las normas de contenido y normas de conducta
Al escribir en el debate:
  1. Repasa la ortografía y no escribas en formato SMS.
  2. Lee el texto dos veces antes de publicar.
  3. No escribas todo en mayúsculas o negritas.
 
Páginas internacionales: España  |  Italia  |  Francia  |  México  |  Alemania  |  Reino Unido  |  Argentina  |  Chile  |  Colombia  |  USA |  India |  Y próximamente: Brasil | 

Búsquedas frecuentes: ejemplos de memo cardiolipinas tipos de herencia plantillas excel gratis moldes de bolsos

EMAGISTER Servicios de formación, S.L. Copyright 1999/2013.