Portal    Foro    Buscar    FAQ    Registrarse    Conectarse


Publicar nuevo tema  Responder al tema 
Página 1 de 1
 
 
Cual Es La Formma De Pasar En Una Variable Un Formulario O Un Contenedor
Autor Mensaje
Responder citando   Descargar mensaje  
Mensaje Cual Es La Formma De Pasar En Una Variable Un Formulario O Un Contenedor 
 
Hola a todos
Si deseo pasar a una clase o función un parametro que en el que me interesa pasar un contenedor como un panel , por ejemplo, o un formulario ¿Como es la forma correcta de hacerlo?
  AbrirFormularioSecundario( "?" ) ' Donde "?" puede ser un Form o un panel
 

Luego en el "otro lado"
¿Como defino la variable? ¿Como Variant? si es así como distingo si en la variable variant hay un contenedor o un Formulario
Estoy intentando usar variant y puedo distinguir perfectamente si es un panel, pero no un Form.

Saludos.
 



 
tincho - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Cual Es La Formma De Pasar En Una Variable Un Formulario O Un Contenedor 
 
La variable del Formulario no es buena ?
 



 
vuott - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Cual Es La Formma De Pasar En Una Variable Un Formulario O Un Contenedor 
 
vuott escribió:  
La variable del Formulario no es buena ?

En este caso no, porque quiero poder decirle al segundo formulario que se abra en un contenedor o libremente.
Pero ya lo tengo solucionado me parece.
Saludos.
 



 
tincho - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Cual Es La Formma De Pasar En Una Variable Un Formulario O Un Contenedor 
 
Para solucionarlo hay dos partes, o tres.
Parte 1 - Paso una variable tipo Variant donde a veces es un Form y otras un contenedor como un Panel.
SecondaryForm.Run(Panel1)
 

Parte 2 - Esta función me dice que objeto es
'' Función que devuelve el tipo de contenedor de acuerdo a la variable que se le pasa como parametro
Public Function ConType(vrt As Variant) As String

  Dim obj As Object
  Dim typ As String

  If TypeOf(vrt) = 16 Then
    obj = vrt
    Select Object.Type(obj)
      Case "Panel", "Frame", "VBox", "VPanel", "VSplit", "HBox", "HPanel", "HSplit"
        typ = Object.Type(obj)
      Case Else
        If obj.Caption Then
          If obj.FullScreen Then
            typ = "Form"
          Endif
        Endif
    End Select
  Else
    typ = Object.Type(obj)
  Endif

  Return typ

End
 

Parte 3 - El formulario secundario
Public Function Run(vrt As Variant)
  Dim typ As String

  typ = uty.ConType(vrt)

  If TypeOf(vrt) = 16 Then
    Select typ
      Case "Panel"
        Me.Show()
        Me.Menus.Hide
        Me.Reparent(obj, 0, 0)
      Case "Form"
        Return Not Me.ShowModal()
    End Select
  Endif
End
 

Saludos.
 



 
tincho - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Mostrar mensajes anteriores:    
 
Ocultar¡Este tema fue útil?

 

Elegir valoración:                       

Media de valoración Valoración mínima Valoración máxima Número de valoraciones
0.00 0 0 0
 
OcultarTemas parecidos
Tema Autor Foro Respuestas último mensaje
No hay nuevos mensajes Convertir Un Formulario En Un Contenedor D... vr_rv Controles/Librerías/Componentes 8 Sabado, 25 Junio 2016, 23:46 Ver último mensaje
vuott
No hay nuevos mensajes Pasar Un Control De Un Formulario A Otro F... Shell General 8 Sabado, 04 Febrero 2017, 19:13 Ver último mensaje
Shell
No hay nuevos mensajes Pasar Un Contenedor A Un Procedimiento. Cl... Shell General 5 Domingo, 12 May 2019, 01:09 Ver último mensaje
Shell
No hay nuevos mensajes Necesito Un Contenedor Para Varios Compone... gambafeliz General 6 Jueves, 19 Septiembre 2019, 17:02 Ver último mensaje
gambafeliz
 

Publicar nuevo tema  Responder al tema  Página 1 de 1
 

Usuarios navegando en este tema: 0 registrados, 0 ocultos y 1 invitado
Usuarios registrados conectados: Ninguno


 
Lista de permisos
No puede crear mensajes
No puede responder temas
No puede editar sus mensajes
No puede borrar sus mensajes
No puede votar en encuestas
No puede adjuntar archivos
No puede descargar archivos
No puede publicar eventos en el calendario