frame por delante de todos los controles

26/08/2007 - 20:44 por daniel | Informe spam
Hola a todos

tengo la siguiente pregunta como puedo poner un frame por delante de todos
los demas controles
es que e probado poniendolo encima de un listbox y las opciones de traer
adelante y de traer al fondo y no funcionas el listbox siempre se queda por
delante.




un saludo
daniel

Preguntas similare

Leer las respuestas

#1 Ivan
27/08/2007 - 01:20 | Informe spam
hola Daniel,

segun la ayuda, tanto el listbox como el frame y el multipage, suponen una excepcion a la hora de moverlos detras de
otros controles [no se puede] aunque entre ellos si se puede jugar (creo) con el orden Z. No he hecho pruebas ni tengo
mucha idea al respecto, pero te pego la ayuda sobre mover controles en el orden Z [ te recomiendo que mires tambien el
metodo ZOrder]

espero te ayude
un saludo
Ivan
Utilizar el orden z para poner en capas los controles


Para colocar un control en el primer o el último lugar del orden z:

1.. Seleccione los controles que desea cambiar de posición.


2.. En el menú Formato, elija Ordenar.


3.. En el menú en cascada, seleccione Traer al frente o Enviar al fondo.
Para ajustar un control una posición en el orden z:

1.. Seleccione los controles que desea cambiar de posición.


2.. En el menú Formato, elija Ordenar.


3.. En el menú en cascada, seleccione Traer al frente o Enviar al fondo.
Nota No puede deshacer o rehacer comandos que trabajen con niveles, como Enviar al fondo o Traer al frente. Por
ejemplo, si selecciona un objeto y hace clic en Enviar atrás en el menú de acceso directo, no podrá deshacer o rehacer
esa acción.

Las opciones de menú Traer al frente, Traer adelante, Enviar al fondo y Enviar atrás le permiten cambiar el orden z de
un control relativo a otros controles. Si el formulario incluye algún control ListBox, Frame o MultiPage, estos
controles se mueven automáticamente tan cerca como sea posible a la parte superior de la pila. Por ejemplo, aplicar
Enviar atrás a un control ListBox, Frame o MultiPage mueve el debajo de otro control ListBox, Frame o MultiPage, pero no
lo moverá debajo de cualquier otro tipo de control de la pila. De modo parecido, aplicar Traer adelante a un control
distinto de un control ListBox, Frame o MultiPage moverá el control cerca de la parte superior de la pila, pero no lo
moverá encima de un control ListBox, Frame o MultiPage de la pila.

Visualmente, esto quiere decir que si un control ListBox, Frame o MultiPage y cualquier otro control de Microsoft Forms
están en la misma ubicación en un formulario, el control ListBox, Frame o MultiPage siempre aparecerá encima del otro
control. Si un control ListBox, Frame o MultiPage está en la misma ubicación que otro control ListBox, Frame o
MultiPage, el orden z de los controles determinan qué control aparece encima de otro.






"daniel" escribió en el mensaje news:u$
Hola a todos

tengo la siguiente pregunta como puedo poner un frame por delante de todos los demas controles
es que e probado poniendolo encima de un listbox y las opciones de traer adelante y de traer al fondo y no funcionas
el listbox siempre se queda por delante.




un saludo
daniel

Respuesta Responder a este mensaje
#2 Ivan
27/08/2007 - 01:56 | Informe spam
hola de nuevo Daniel,

al final me he animado a hacer esas pruebas. Si quieres ver el resultado, puedes hacer lo siguiente:=>

1.- inserta un userform y coloca en el un listbox y un frame en la misma posicion [OJO: no el listbox dentro del frame
(que por cierto no estoy del todo segiro si se puede aunque me suena que si)]

2,- pon un commandbutton

3.- en el modulo del formulario pega el siguiente codigo, dale a F5 y prueba a darle al boton

'**************************pega desde aqui
Private Sub CommandButton1_Click()
With CommandButton1
If .Caption = "TopListbox" Then
ListBox1.ZOrder: .Caption = "TopFrame"
Else
Frame1.ZOrder: .Caption = "TopListbox"
End If
End With
End Sub
'
Private Sub UserForm_Initialize()
ListBox1.ZOrder (1)
Frame1.ZOrder (0)
CommandButton1.Caption = "TopListbox"
End Sub
'**********************************hasta aqui

espero te ayude

un saludo
Ivan

tengo la siguiente pregunta como puedo poner un frame por delante de todos los demas controles
es que e probado poniendolo encima de un listbox y las opciones de traer adelante y de traer al fondo y no funcionas
el listbox siempre se queda por delante.
Respuesta Responder a este mensaje
#3 daniel
27/08/2007 - 18:32 | Informe spam
Hola Ivan
muchas gracias por responder en cuanto pueda lo miro


un saludo
daniel
"Ivan" escribió en el mensaje
news:
hola de nuevo Daniel,

al final me he animado a hacer esas pruebas. Si quieres ver el resultado,
puedes hacer lo siguiente:=>

1.- inserta un userform y coloca en el un listbox y un frame en la misma
posicion [OJO: no el listbox dentro del frame (que por cierto no estoy del
todo segiro si se puede aunque me suena que si)]

2,- pon un commandbutton

3.- en el modulo del formulario pega el siguiente codigo, dale a F5 y
prueba a darle al boton

'**************************pega desde aqui
Private Sub CommandButton1_Click()
With CommandButton1
If .Caption = "TopListbox" Then
ListBox1.ZOrder: .Caption = "TopFrame"
Else
Frame1.ZOrder: .Caption = "TopListbox"
End If
End With
End Sub
'
Private Sub UserForm_Initialize()
ListBox1.ZOrder (1)
Frame1.ZOrder (0)
CommandButton1.Caption = "TopListbox"
End Sub
'**********************************hasta aqui

espero te ayude

un saludo
Ivan

tengo la siguiente pregunta como puedo poner un frame por delante de
todos los demas controles
es que e probado poniendolo encima de un listbox y las opciones de traer
adelante y de traer al fondo y no funcionas el listbox siempre se queda
por delante.






Respuesta Responder a este mensaje
#4 daniel
27/08/2007 - 18:56 | Informe spam
Hola Ivan
muchisimas Gracias es perfecto

mil garcias
un saludo
Daniel
"daniel" escribió en el mensaje
news:
Hola Ivan
muchas gracias por responder en cuanto pueda lo miro


un saludo
daniel
"Ivan" escribió en el mensaje
news:
hola de nuevo Daniel,

al final me he animado a hacer esas pruebas. Si quieres ver el resultado,
puedes hacer lo siguiente:=>

1.- inserta un userform y coloca en el un listbox y un frame en la misma
posicion [OJO: no el listbox dentro del frame (que por cierto no estoy
del todo segiro si se puede aunque me suena que si)]

2,- pon un commandbutton

3.- en el modulo del formulario pega el siguiente codigo, dale a F5 y
prueba a darle al boton

'**************************pega desde aqui
Private Sub CommandButton1_Click()
With CommandButton1
If .Caption = "TopListbox" Then
ListBox1.ZOrder: .Caption = "TopFrame"
Else
Frame1.ZOrder: .Caption = "TopListbox"
End If
End With
End Sub
'
Private Sub UserForm_Initialize()
ListBox1.ZOrder (1)
Frame1.ZOrder (0)
CommandButton1.Caption = "TopListbox"
End Sub
'**********************************hasta aqui

espero te ayude

un saludo
Ivan

tengo la siguiente pregunta como puedo poner un frame por delante de
todos los demas controles
es que e probado poniendolo encima de un listbox y las opciones de traer
adelante y de traer al fondo y no funcionas el listbox siempre se queda
por delante.










Respuesta Responder a este mensaje
#5 daniel
28/08/2007 - 19:04 | Informe spam
Hola Ivan
sabes como podia hacer lo siguiente:
1)tengo un listbox1 y cuando pulse con el boton derecho en el listbox1 me
aparezca el frame justo donde e pulsado
e probado lo siguiente pero nada no me va.

Dim Arriba As Single, Izquierda As Single
Private Sub listbox1_MouseDown(ByVal Button As Integer, ByVal Shift As
Integer, ByVal x As Single, ByVal y As Single)
If Button = 2 Then ' the right mouse-button was clicked
listbox1.Top = Arriba
listbox1.Left = Izquierda
End If
End Sub

Private Sub UserForm_MouseMove( _
ByVal Button As Integer, ByVal Shift As Integer, _
ByVal x As Single, ByVal y As Single)
Arriba = y
Izquierda = x
End Sub

2)tambien como se aria para un TreeView para el boton derecho es que probe
esto y me daba error

Private Sub TreeView1_MouseDown(ByVal Button As Integer, ByVal Shift As
Integer, ByVal x As Single, ByVal y As Single)
If Button = 2 Then ' the right mouse-button was clicked
listbox1.Top = Arriba
listbox1.Left = Izquierda
End If
End Sub


un saludo y muchisimas gracias
Daniel
"daniel" escribió en el mensaje
news:
Hola Ivan
muchisimas Gracias es perfecto

mil garcias
un saludo
Daniel
"daniel" escribió en el mensaje
news:
Hola Ivan
muchas gracias por responder en cuanto pueda lo miro


un saludo
daniel
"Ivan" escribió en el mensaje
news:
hola de nuevo Daniel,

al final me he animado a hacer esas pruebas. Si quieres ver el
resultado, puedes hacer lo siguiente:=>

1.- inserta un userform y coloca en el un listbox y un frame en la misma
posicion [OJO: no el listbox dentro del frame (que por cierto no estoy
del todo segiro si se puede aunque me suena que si)]

2,- pon un commandbutton

3.- en el modulo del formulario pega el siguiente codigo, dale a F5 y
prueba a darle al boton

'**************************pega desde aqui
Private Sub CommandButton1_Click()
With CommandButton1
If .Caption = "TopListbox" Then
ListBox1.ZOrder: .Caption = "TopFrame"
Else
Frame1.ZOrder: .Caption = "TopListbox"
End If
End With
End Sub
'
Private Sub UserForm_Initialize()
ListBox1.ZOrder (1)
Frame1.ZOrder (0)
CommandButton1.Caption = "TopListbox"
End Sub
'**********************************hasta aqui

espero te ayude

un saludo
Ivan

tengo la siguiente pregunta como puedo poner un frame por delante de
todos los demas controles
es que e probado poniendolo encima de un listbox y las opciones de
traer adelante y de traer al fondo y no funcionas el listbox siempre se
queda por delante.














Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida