Problemas para colocar Monthview
Publicado por Kaly (14 intervenciones) el 08/07/2008 11:39:47
hola a todos, os cuento.
tengo varios formularios con textbox para fechas, esos campos estan dentro de frames.
Quiero poner un evento OnClick o KeyDown para que al pulsar en uno de los campos fecha aparezca el Monthview a la altura del campo pulsado. El problema es que usando .Top y .Left del textBox me sale muy a la izquierda por que esas propiedades solo cuentan desde el frame, no desde el 0,0 del formulario. Tambien he provado a poner que sume frame.left + textBox.left y sale algo mejor, aunque no perfecto.
ahora, ¿como podria saber dentro de que frame esta el textbox pulsado?, lo necesito para no tener que escribir la misma intrucción mil veces.
¿se os ocurre otra forma de hacerlo sin quitar los frames? (no puedo quitarlos )
os pongo un ejemplo de como lo estoy haciendo
Private Sub TxtFecha_Click()
MVerFecha Screen.ActiveControl, Frame.top, Frame.left
End Sub
Sub MVerFecha(campo As Control, FraT, FraL)
With Fecha
Set CampoFecha = campo
.top = CampoFecha.top + FraT
.left = CampoFecha.left + FraL
Fecha.Show
End With
End Sub
Muchas gracias.
tengo varios formularios con textbox para fechas, esos campos estan dentro de frames.
Quiero poner un evento OnClick o KeyDown para que al pulsar en uno de los campos fecha aparezca el Monthview a la altura del campo pulsado. El problema es que usando .Top y .Left del textBox me sale muy a la izquierda por que esas propiedades solo cuentan desde el frame, no desde el 0,0 del formulario. Tambien he provado a poner que sume frame.left + textBox.left y sale algo mejor, aunque no perfecto.
ahora, ¿como podria saber dentro de que frame esta el textbox pulsado?, lo necesito para no tener que escribir la misma intrucción mil veces.
¿se os ocurre otra forma de hacerlo sin quitar los frames? (no puedo quitarlos )
os pongo un ejemplo de como lo estoy haciendo
Private Sub TxtFecha_Click()
MVerFecha Screen.ActiveControl, Frame.top, Frame.left
End Sub
Sub MVerFecha(campo As Control, FraT, FraL)
With Fecha
Set CampoFecha = campo
.top = CampoFecha.top + FraT
.left = CampoFecha.left + FraL
Fecha.Show
End With
End Sub
Muchas gracias.
Valora esta pregunta


0