• Viernes 8 de Noviembre de 2024, 20:15

Autor Tema:  Procedimiento En Un Modulo  (Leído 2519 veces)

Soultaker

  • Miembro HIPER activo
  • ****
  • Mensajes: 972
  • Nacionalidad: pe
    • Ver Perfil
Procedimiento En Un Modulo
« en: Miércoles 8 de Septiembre de 2004, 22:57 »
0
Hola como estan tengo una duda que se me ha presentado recien, miren he hecho un procedimiento en un modulo, este procedimiento es para agregar objetos al formulario pero mi problema es que como puedo hacer referencia al formulario donde lo quiero ejecutar, supongamos que tengo un formulario llanado "FrmAbout", en ese formulario hay un boton primero crei que seria asi

Me.Controls.Add() --------------> Este es parte del procedimiento

pero en un modulo la palabla "Me" no me acepta, luego trate de hacer esto

Dim Frm as New FrmAbout
Frm.Controls.Add()

asi lo probe pero no me mostraba nada, ni me daba algun error luego se me ocurrio agregarle un Frm.Show, en este caso si funciono pero el problema fue que abrio otra ventana, es decir me muestra 2 ventanas, una me muestra solo con el boton y la otra con todos los controles que agrege y el boton, esto estaria bien pero como puedo hacer para que me muestre solo una ventana. O si ustedes conocen otro metodo denme una referencia haber como podria solucionar este problema. Espero que me puedan ayudar bye gracias.
http]
foros,programacion, c, c++, java,
linux, videojuegos, directX, .NET,
visual basic,robotica,microprocesadores

Para los nuevos usuarios de este Foro, por favor leerse esta discusión.
Cómo Hacer Preguntas De Forma Inteligente

Ojos que no ven... pisan caquita
Camarón que se duerme... muere electrocutado


<<< Harol Moreyra Bendezú >>>

DiabloRojo

  • Miembro MUY activo
  • ***
  • Mensajes: 220
    • Ver Perfil
Re: Procedimiento En Un Modulo
« Respuesta #1 en: Miércoles 8 de Septiembre de 2004, 23:21 »
0
Qué tal harol?
Si tu form se llama FrmAbout creo deberías usar:
Código: Text
  1.  
  2. FrmAbout.controls.add()
  3.  
  4.  

Cuando usas:
Código: Text
  1.  
  2. Dim Frm as New FrmAbout
  3.  
  4.  

lo que haces es crear una nueva instancia de tu formulario FrmAbout.

Suerte.

Soultaker

  • Miembro HIPER activo
  • ****
  • Mensajes: 972
  • Nacionalidad: pe
    • Ver Perfil
Re: Procedimiento En Un Modulo
« Respuesta #2 en: Jueves 9 de Septiembre de 2004, 02:13 »
0
Tienes razon diablorojo, eso lo puedo declarar en el modulo pero que pasa si los controles que tengo en mi procedure los quiero agregar en 5, 6 o 7 formularios como declaro para los formularios me dejo entender. Bueno espero que me hayas entendido bye.
http]
foros,programacion, c, c++, java,
linux, videojuegos, directX, .NET,
visual basic,robotica,microprocesadores

Para los nuevos usuarios de este Foro, por favor leerse esta discusión.
Cómo Hacer Preguntas De Forma Inteligente

Ojos que no ven... pisan caquita
Camarón que se duerme... muere electrocutado


<<< Harol Moreyra Bendezú >>>

DiabloRojo

  • Miembro MUY activo
  • ***
  • Mensajes: 220
    • Ver Perfil
Re: Procedimiento En Un Modulo
« Respuesta #3 en: Viernes 10 de Septiembre de 2004, 02:27 »
0
Qué tal harol?
Coméntame cómo llamas o deseas llamar al procedimiento. Lo llamas desde cada form? o lo llamas desde un form específico y quieres que te agregue los controles a los demás?


DiabloRojo

Soultaker

  • Miembro HIPER activo
  • ****
  • Mensajes: 972
  • Nacionalidad: pe
    • Ver Perfil
Re: Procedimiento En Un Modulo
« Respuesta #4 en: Viernes 10 de Septiembre de 2004, 05:35 »
0
Hola DiabloRojo el procedimiento lo quiero llamar desde cada ventana que me recomendarias. Espero tu respuesta diablorojo. bye.
http]
foros,programacion, c, c++, java,
linux, videojuegos, directX, .NET,
visual basic,robotica,microprocesadores

Para los nuevos usuarios de este Foro, por favor leerse esta discusión.
Cómo Hacer Preguntas De Forma Inteligente

Ojos que no ven... pisan caquita
Camarón que se duerme... muere electrocutado


<<< Harol Moreyra Bendezú >>>

DiabloRojo

  • Miembro MUY activo
  • ***
  • Mensajes: 220
    • Ver Perfil
Re: Procedimiento En Un Modulo
« Respuesta #5 en: Viernes 10 de Septiembre de 2004, 20:22 »
0
Qué tal harol?
Si lo que deseas es llamar al procedimiento desde cada ventana lo que puedes hacer es pasar el nombre del form como parámetro al procedimiento. Te coloco un ejemplo hecho en VB6.0 y tu te encargas de modificarlo según te convenga:

El procedimiento:

Código: Text
  1.  
  2. Public Sub AgregarControl(FormNombre As String)
  3.    Dim i As Integer 'contador
  4.    Dim MiControl As CommandButton ' Tipo de control
  5.    
  6.    For i = 0 To VB.Forms.Count - 1 'Busca en cada elemento de la colección Forms
  7.       If (VB.Forms(i).Name = FormNombre) Then 'Indica a qué form se agrega el control
  8.          Set MiControl = VB.Forms(i).Controls.Add(&#34;VB.CommandButton&#34;, &#34;Command2&#34;)
  9.          MiControl.Caption = &#34;Agregado&#34;
  10.          MiControl.Visible = True
  11.       End If
  12.    Next i
  13. End Sub
  14.  
  15.  


Llamada al procedimiento (esto se hace desde cada ventana):

Código: Text
  1.  
  2. Private Sub Command1_Click()
  3.    AgregarControl Me.Name 'Llama al procedimiento y le pasa como parámetro el nombre del form que realiza la llamada
  4. End Sub
  5.  
  6.  

Espero que te ayude.
Suerte.

DiabloRojo