Access - MENU INICIAL EN BD

 
Vista:

MENU INICIAL EN BD

Publicado por JOSUE (8 intervenciones) el 30/09/2010 09:29:02
BUenos días:
Necesito nuevamente vuestra ayuda por favor. Tengo una BD con un menu inicial, el cual tiene varios botones que abren diferentes formularios, un boton para salir de BD y una imagen de fondo. Este menu tiene un tamaño q ocupa casi toda la pantalla del ordenador, pero cuando abro la BD en otro ordenador mas pequeño se me queda muy grande el menú e incluso hay botones q no puedo ver. Mi pregusta es ¿¿se puede hacer un formulario el cual se adapte a las diferentes pantallas (17", 19", etc.), al igual que los botones y la imagen de fondo?? Creo q esto es un reto, por lo menos para mi q soy un novato en esto de las BD.
Gracias de antemano

A esto me respondiero lo siguiente:
"En un módulo metes esto

Declare Function glrMoveWindows Lib "user32" Alias "MoveWindow" (ByVal hwnd As Long, ByVal X As Long, ByVal Y As Long, ByVal nWindth As Long, ByVal nHeight As Long, ByVal bRepair As Long) As Long

Function GetScreenResolution() As String
Dim R As RECT, hwnd As Long, RetVal As Long
hwnd = GetDesktopWindow()
RetVal = GetWindowRect(hwnd, R)
GetScreenResolution = (R.x2 - R.x1) & "x" & (R.y2 - R.y1)
End Function

Lo siguiente los pones en el evento "Al abrir" del formulario que quieras

Dim posicion As String
' Para que abra el formulario siempre en la misma posición y con el tamaño que designes dependiendo de la resolución de la pantalla, los parametros son:
' posiciónX que es la posición horizontal
' posiciónY que es la posición vertical
' Ancho
' Alto
' True
If GetScreenResolution = "1024x768" Then
posicion = glrMoveWindows(Me.hwnd, 125, 25, 800, 540, True)
ElseIf GetScreenResolution = "1152x864" Then
posicion = glrMoveWindows(Me.hwnd, 200, 100, 800, 510, True)
Else
posicion = glrMoveWindows(Me.hwnd, 100, -20, 800, 510, True)
End If

Las medidas son las de mi programa "

He hecho esto, pero el modulo falla, me da error de compilación y me sombrea "R As RECT", saben es lo que puede que fallar??
Gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:MENU INICIAL EN BD

Publicado por JOSE (1 intervención) el 04/10/2010 12:37:44
ajustar los formularios
en un módulo metes esto
Declare Function glrMoveWindows Lib "user32" Alias "MoveWindow" (ByVal hwnd As Long, ByVal X As Long, ByVal Y As Long, ByVal nWindth As Long, ByVal nHeight As Long, ByVal bRepair As Long) As Long
Declare Function GetWindowRect Lib "user32" (ByVal hwnd As Long, lpRect As RECT) As Long
Type RECT
x1 As Long
y1 As Long
x2 As Long
y2 As Long
End Type

Declare Function GetDesktopWindow Lib "user32" () As Long
Function GetScreenResolution() As String
Dim R As RECT, hwnd As Long, RetVal As Long
hwnd = GetDesktopWindow()
RetVal = GetWindowRect(hwnd, R)
GetScreenResolution = (R.x2 - R.x1) & "x" & (R.y2 - R.y1)
End Function


Lo siguiente los pones en el evento "Al abrir" del formulario que quieras

SE HA CAMBIADO PARA QUE AJUSTE MAS O MENOS AL TAMAÑO DE LA RESOLUCION DE LA PANTALLA

' Para que abra el formulario siempre en la misma posición y con el tamaño que designes dependiendo de la resolución de la pantalla, los parametros son:
' posiciónX que es la posición horizontal
' posiciónY que es la posición vertical
' Ancho
' Alto
' True

Private Sub Form_Open(Cancel As Integer)

Dim posicion As String
Dim A As String
Dim A1 As String
Dim A2 As String
Dim N As Long
Dim ANCHO As Long
Dim ALTO As Long

'
A = GetScreenResolution
A1 = ""
For N = 1 To Len(A)
If Mid(A, N, 1) = "x" Then Exit For
A1 = A1 & Mid(A, N, 1)
Next N

A2 = Mid(A, Len(A1) + 2, Len(A))

ANCHO = Val(A1) - 100
ALTO = Val(A2) - 150

'MsgBox A1 & " - " & A2 & " - " & ANCHO & " - " & ALTO


posicion = glrMoveWindows(Me.hwnd, 10, 10, ANCHO, ALTO, True)


End Sub
--------------------------------------------------------------------------------
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar