mover controles entre paginas de un multipaginas

19/01/2007 - 19:32 por Ivan | Informe spam
hola a tosdos

¿como podria mover controles entre diferentes contenedores en tiempo
de ejecucion? pej: de una pagina a otra de un multipagina, o del propio
userform a una pagina concreta o a un frame.

no se si sera posible. El metodo move no parece incluir un argumento
para cambiar de contenedor, o al menos yo no lo veo

si sabeis de alguna forma os lo agradezco

un saludo y hasta pronto
Ivan

Preguntas similare

Leer las respuestas

#11 daniel
22/01/2007 - 16:15 | Informe spam
hola Ivan muchas gracias por tu ayuda y interes en ayudarme.
tranquilo no era mucho rrollazo algunas cosas me sirven para aprender.
tengo algunos problemas no me sale me podias mandar archivos de ejemplo en
los que vengan todas las partes que espones
a mi correo

un saludo y muchisimas gracias

"daniel" escribió en el mensaje
news:%
hola Ivan muchas gracias por ayudarme

en cuanto pueda lo miro y te comento

un saludo
"Ivan" escribió en el mensaje
news:
perdon, el commandbutton deberia llamarse -> cmdVerElegido en vez de
cmdVerNoVer

en cuanto a seleccionar con el puntero estoy tanteando con los eventos
mousDown, mousemove y mouseup y parece que puede salir algp, pero sin
controlarlo parece un pelin arriesgado. Se disparan eventos en cuanto
te descuidas

un saludo





Respuesta Responder a este mensaje
#12 Ivan
25/01/2007 - 04:10 | Informe spam
Hola de nuevo, Daniel

ando con el correo un poco mal, pero te he subido un archivo de muestra
a esta direccion

http://www.sendspace.com/file/6lsxq6

no he tenido tiempo para incluir explicaciones, pero echale un vistazo
si quieres, y comentas por aqui.

un saludo y hasta pronto
Ivan
Respuesta Responder a este mensaje
#13 Ivan
26/01/2007 - 01:22 | Informe spam
hola Daniel, te cuelgo otra vez el archivo con alguna correcion
(fallaba en un tema al restaurar los controles) y algun cambio.

en cuanto a mover con el raton, si has encontrado algo ( yo me voy a
liar a buscar un rato ahora) te agradezco si lo comentas, pues me estoy
volviendo loco con mis intentos.

este es el vinculo

http://tinyurl.com/2qqt8l

-clikar en -> DOWNLOAD LINK
Click Here To Download!

un saludo
Ivan
Respuesta Responder a este mensaje
#14 Ivan
26/01/2007 - 01:48 | Informe spam
Acabo de encontrar un codigo que parece solucionar el problema del
cursor (debe de ser la unica combinacion que no habia probado). En mis
pruebas funciona bien

cortesia de Alex, del foro de VB ->

Option Explicit
Dim fMover As Boolean
Dim X0 As Single
Dim Y0 As Single
Private Sub CommandButton1_MouseDown(ByVal Button As Integer, _
ByVal Shift As Integer, _
ByVal X As Single, ByVal Y As Single)
fMover = True
X0 = X
Y0 = Y
End Sub

Private Sub CommandButton1_MouseMove(ByVal Button As Integer, _
ByVal Shift As Integer, ByVal X As Single, _
ByVal Y As Single)
If fMover Then
CommandButton1.Left = CommandButton1.Left + (X - X0)
CommandButton1.Top = CommandButton1.Top + (Y - Y0)
End If
End Sub

Private Sub CommandButton1_MouseUp(ByVal Button As Integer, _
ByVal Shift As Integer, _
ByVal X As Single, ByVal Y As Single)
fMover = False
End Sub



el vinculo->> http://tinyurl.com/2uwvhw

posiblemente tendrias que ponerlo en todos los eventos 'mouse' de los
controles a mover

un saludo
Ivan
Respuesta Responder a este mensaje
#15 Vinchenzo vinç
26/01/2007 - 07:09 | Informe spam
"Ivan" <@> escribió en el mensaje news:

en cuanto a mover con el raton, si has encontrado algo ( yo me voy a
liar a buscar un rato ahora) te agradezco si lo comentas, pues me estoy
volviendo loco con mis intentos.



Hola Iván,
cuando tenga un momento, te adapto un pequeño ejemplo y le añado unos comentarios, para que puedas ver una forma de habilitar al usuario a mover y redimensionar controles con el ratón, en tiempo de ejecución.
Aunque vas a ver cómo hay algún inconveniente-limitación, como por ejemplo, que ciertos controles no pueden pasar al frente de ciertos otros (que yo sepa es "by design, for resign").
Algún que otro detalle seguramente también incordiará, y si se dá ya miraremos a ver cómo lo solucionamos (en caso de que se pudiese).

Básicamente, se trata de usar un módulo de clase para los tipos de control que se les quiera posibilitar el cambio de posición y tamaño, declarando en ese módulo un objeto con eventos de su clase, que será el que interceptará los eventos 'MouseDown/MouseMove' para nuestro propósito, y actuará en función de una propiedad que indique si se está en "modo edición", o no.
El hecho de interceptar los eventos en la clase no interfiere con los eventos del propio objeto, es decir, como el objeto de la clase será una referencia asignada del control del formulario, los eventos de la clase serán "una copia", por consiguiente, si tuvieses codificado un mismo evento en ambos módulos, se ejecutarían los dos.
Digamos que una clase 'CButton', que contenga un objeto con eventos 'MSForms.CommandButton', te servirá para todos los botones que asignes a un objeto de esa clase, unificando así todos los procedimientos comunes a cada tipo de control en un sólo módulo de código.

El redimensionamiento se puede permitir a como estamos acostumbrados, simulando en tiempo de ejecución los ocho nodos que rodean un control en tiempo de diseño cuando seleccionamos un control, tarea para la cual usaremos ocho controles 'Image', en cuyos eventos '_MouseMove' se asignarán las propiedades correspondientes del control seleccionado.
Estos ocho nodos (y aquí me voy al tema de trasladar físicamente un control de un contenedor a otro) los crearemos con eventos (declarados WithEvents), para precisamente poder crearlos sobre controles contenidos en contenedores diferentes, pues, tal como pudiste comprobar, para el cambio de contenedor sólo tenemos la posibilidad (al menos, que yo sepa) de realizarlo con controles que hayan sido creados en tiempo de ejecución a través de la colección 'Controls' de cada contenedor.


PD: Como seguramente no te gusta el Spam, te interesará leer el último apartado del segundo enlace de mi firma, donde te aconseja "Acerca de las direcciones de correo electrónico y la Privacidad".

Lo digo porque cada vez que se abre una respuesta, el correo del destinatario queda expuesto al público, y aunque yo siempre intento fijarme si el correo de quien respondo "aparenta" ser real o no, y si "puede ser", lo elimino para no perjudicar, ...uno a veces se despista. Otros simplemente no prestan atención al detalle. Por eso te sugiero que leas el apartado que te he indicado.

PD 2: Como veo que publicas desde 'groups.google', te comento (por si no lo sabes, y por si puede interesarte) que en caso de que dispongas de un lector de noticias como Oultook Express, quizá te apetezca consultar el grupo desde él, pues podrás leer y responder las preguntas (a mi parecer) más cómodamente, como si se trataran de correos electrónicos, y además te facilita el seguimiento de conversaciones pudiendo marcarlas, incluso filtrar tus conversaciones rápidamente para saber si te han respondido en una conversación en la que participabas, etc...

Yo, por si acaso, aquí te dejo un enlace que te explica cómo configurarlo fácilmente:
· Utilizar un lector NNTP
http://www.microsoft.com/spain/comu...r/nntp.asp


Saludos
( ! ) Respuestas precedentes en Google:
http://groups.google.com/group/micr...c.es.excel
( i ) Temperancia en el foro:
http://support.microsoft.com/defaul...newsreglas
Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida