• Viernes 19 de Abril de 2024, 20:53

Autor Tema:  Provocar Un Click En Form1  (Leído 4580 veces)

Boo

  • Nuevo Miembro
  • *
  • Mensajes: 16
    • Ver Perfil
Provocar Un Click En Form1
« en: Sábado 10 de Abril de 2004, 16:45 »
0
Hola foreros, me presento en mi primer post en esta comunidad... :) Soy Boo y tengo 24 años.

Bueno, ahí va mi consulta, estoy realizando una sencilla aplicacion tipo bloc de notas pero skineada con Activeskin, resulta que me interesa que este skin sea con el "Layered enabled". Vale, cargo la aplicación y el skin se carga perfectamente, pero con un "pequeño error" y es que no se muestran los controles incluidos en el form1 tales como el text1, image1, etc... hasta que no hago un click en el caption del form1. Entonces, digo yo... si soy capaz de simular un click en el caption del form1 en el evento load del form podré arreglar el problemilla... ¿No?

Y ahí entrais vosotros chicos, ¿Cómo puedo simular ese click? :unsure:

Boo

  • Nuevo Miembro
  • *
  • Mensajes: 16
    • Ver Perfil
Re: Provocar Un Click En Form1
« Respuesta #1 en: Domingo 11 de Abril de 2004, 10:21 »
0
Chicos, parece seguir el problema, la aplicacion se carga perfectamente, pero no veo el Text1 o el Image1 que he puesto hasta que no hago un solo click en el caption... he estado buscando por el foro como forzar un click de manera automática pero nada.

Añado una cosa, el click a ser posible sin desplazar el puntero del ratón, sino que sea una simulación.

ebolo

  • Miembro MUY activo
  • ***
  • Mensajes: 188
    • Ver Perfil
Re: Provocar Un Click En Form1
« Respuesta #2 en: Domingo 11 de Abril de 2004, 11:34 »
0
Hola Boo.
Intenta llamar al evento click, en el load del form.
-----------------------
Call form1_click


En el evento click pon lo  que quieras.

No sé, sólo es una idea.
Saludos y suerte.

Boo

  • Nuevo Miembro
  • *
  • Mensajes: 16
    • Ver Perfil
Re: Provocar Un Click En Form1
« Respuesta #3 en: Domingo 11 de Abril de 2004, 11:56 »
0
Lo pongo así " Call form1_click " y me da un error "Procedimiento Sub o Function no definido"

Si pudieras indicarme como incluirlo entre estas dos líneas te lo agradecería:

Private Sub Form_Load()
xxxxxx
End Sub

ebolo

  • Miembro MUY activo
  • ***
  • Mensajes: 188
    • Ver Perfil
Re: Provocar Un Click En Form1
« Respuesta #4 en: Lunes 12 de Abril de 2004, 12:36 »
0
Hola Boo.
Es algo así, x ej.:
----------------------------------------
Private Sub Form1_Click()
  Text1.Text = "He hecho click"
  Form1.Refresh
End Sub

Private Sub Form_Load()
Call Form1_Click

End Sub
------------------------------------------

Evidentemente te da error, porque no tenías definida el "Private sub..."  correspondiente con las acciones que quieras realizar. En tu caso, igual con sólo un form1.refresh te sobra, pero no lo sé cierto.
Prueba y nos cuentas.
Saludos.
Recuerda que siempre que llames a un procedimiento con Call, tienes que tenerlo definido, porque si no te dará error.

Oliverio

  • Miembro activo
  • **
  • Mensajes: 31
    • Ver Perfil
Re: Provocar Un Click En Form1
« Respuesta #5 en: Lunes 12 de Abril de 2004, 12:40 »
0
hace BOOOOCHA que no uso VB pero lo que vos tenes que hacer no es simular un clik, sino llamar en Form_Load la funcion que vuelva a pintar el form.
El problema es que no me acuerdo como se llama pero supongo que sera Form1_Paint o algo por el estilo.

Boo

  • Nuevo Miembro
  • *
  • Mensajes: 16
    • Ver Perfil
Re: Provocar Un Click En Form1
« Respuesta #6 en: Lunes 12 de Abril de 2004, 17:00 »
0
No han funcionado los métodos que me habeis propuesto :(

El caption del form1 es bastante amplio, aproximadamente tres veces lo de un caption normal. Lo digo porque tal vez con unas coordenadas o algo así se podría solucionar ese click, en fin, estoy un poco desesperado... :(

PD: Si no se pueden poner imágenes lo siento, sólo avisadme y la quito enseguida...

ebolo

  • Miembro MUY activo
  • ***
  • Mensajes: 188
    • Ver Perfil
Re: Provocar Un Click En Form1
« Respuesta #7 en: Lunes 12 de Abril de 2004, 20:50 »
0
Hola Boo.
Prueba a poner Doevents en el load del form; ó usa el evento activate del form y pon ahí visible a true los objetos que quieras que se vean....
Yo no soy ningún experto  :( ,  sólo son ideas que se me ocurren para probar.

Creo que el problema no debe ser el que tengas que hacer click, debe estar por otro sitio.

Lo que no entiendo es donde deben aparecer las imagenes en el form superior o inferior, según la imagen adjunta?. Y lo que haces es que das al caption del form superior para que aparezcan las imagenes en el form inferior, no entiendo.

Bueno haber si hay alguien por ahí que te puede ayudar más.
Saludos y suerte.

Boo

  • Nuevo Miembro
  • *
  • Mensajes: 16
    • Ver Perfil
Re: Provocar Un Click En Form1
« Respuesta #8 en: Lunes 12 de Abril de 2004, 21:02 »
0
Que va Ebolo, el problema viene dado por el skin, si no aplico el skin no hay problema, pero si lo aplico se carga pero sin dejar ver los controles (sean los que sean) hasta que no haces un click en el caption del Form1.

Por eso sigo investigando, me estoy recorriendo todo lo que puedo del foro porque creo que la solución está en generar un click en el caption del form1, una especie de click "virtual", ya que es una molestia tener que hacerlo manualmente cada vez que se lanza la aplicación.

Este skin está hecho con Activeskin Control y está en "Layered enabled"... queda muy bonito, pero si me dejase ver los controles....

Chicos, os agradezco toda la yuda que me estáis dando, por mi parte si termino hallando la solución no tardaré ni un segundo en venir a desahogarme y compartirla.

elmango80

  • Miembro MUY activo
  • ***
  • Mensajes: 149
  • Nacionalidad: ve
    • Ver Perfil
Re: Provocar Un Click En Form1
« Respuesta #9 en: Lunes 12 de Abril de 2004, 21:51 »
0
Hola Boo!!!

Si entiendo bien tu programa funciona perfectamente unicemente despues de hacer click en el Label1, me imagino que el evento clik del Label1 esta programado, es decir en tu codigo aparece

Código: Text
  1.  
  2. Private Sub Label1_Click()
  3.  
  4.           .
  5.           .
  6.           .
  7.           .
  8.  
  9. End Sub
  10.  
  11.  

Lo mas simple que puedes hacer es lo siguiente

Código: Text
  1.  
  2.  
  3. Private Sub Form_Load()
  4.  
  5.           .
  6.           .
  7.           .
  8.     Label1_Click
  9.  
  10. End Sub
  11.  
  12.  


 :devil: -------------------------- :angel:
Citar
No soy bueno, tampoco soy malo sino todo lo contrario...

Boo

  • Nuevo Miembro
  • *
  • Mensajes: 16
    • Ver Perfil
Re: Provocar Un Click En Form1
« Respuesta #10 en: Lunes 12 de Abril de 2004, 22:52 »
0
No tengo ningún Label1... ¿Puedes explicarme un poco más a qué te refieres?  :unsure:

roxiii

  • Miembro activo
  • **
  • Mensajes: 79
    • Ver Perfil
Re: Provocar Un Click En Form1
« Respuesta #11 en: Martes 13 de Abril de 2004, 02:29 »
0
hola,¿puedes enviarme tu codigo?, creo que si puedo ver tu programa podriamos ayudarte...

Boo

  • Nuevo Miembro
  • *
  • Mensajes: 16
    • Ver Perfil
Re: Provocar Un Click En Form1
« Respuesta #12 en: Martes 13 de Abril de 2004, 07:36 »
0
Sí claro, os dejo la primera versión del mismo, aunque el programa no luce bonito tiene  exactamente el problema que quiero solucionar:

Alpha1 (Para descargar click con el botón derecho del ratón y guardar enlace como...)

Brroz

  • Miembro de PLATA
  • *****
  • Mensajes: 1058
    • Ver Perfil
Re: Provocar Un Click En Form1
« Respuesta #13 en: Martes 13 de Abril de 2004, 08:15 »
0
Hola.

Puedes probar con la función del api SendMessage enviando a la ventana del formulario un 'doble click' ...

Código: Text
  1.  
  2. Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
  3. Private Const WM_LBUTTONDBLCLK = &H203
  4.  
  5. Private Sub Form_Load
  6.     sendMessage Me.Hwnd, WM_LBUTTONDBLCLK, 0&, 0&
  7. End Sub
  8.  
  9.  

Suerte.

Boo

  • Nuevo Miembro
  • *
  • Mensajes: 16
    • Ver Perfil
Re: Provocar Un Click En Form1
« Respuesta #14 en: Martes 13 de Abril de 2004, 16:38 »
0
Brroz, eso no funciona... :( os sigo poniendo aquí el fichero por si quereis echarle un vistazo.

Alpha1 (Para descargar click con el botón derecho del ratón y guardar enlace como...)

Brroz

  • Miembro de PLATA
  • *****
  • Mensajes: 1058
    • Ver Perfil
Re: Provocar Un Click En Form1
« Respuesta #15 en: Martes 13 de Abril de 2004, 16:58 »
0
Hola Boo.

Acabo de probar el ejemplo que adjuntas y a mi me funciona ok... Si añado otros controles al form también se visualizan sin problemas. Por supuesto, funciona sin hacer click en ningún lado.

Por otro lado y sobre el código anterior, si pruebas a poner algún código para el evento Form_DblClick, podrás comprobar como la llamada a la función SendMessage provoca que la ventana del formulario reciba un doble click... por lo que supongo que el tema de que tengas que clickear en el form para ver los controles no tiene que ver con VB...

En fin, a ver si tienes más suerte.

Boo

  • Nuevo Miembro
  • *
  • Mensajes: 16
    • Ver Perfil
Re: Provocar Un Click En Form1
« Respuesta #16 en: Martes 13 de Abril de 2004, 18:00 »
0
Brroz, ¿Podrías enviarme tu ejemplo para ver como te ha quedado y poder comprobar si es algún problema mío? Es que empiezo a pensar que el control OCX puede estar dandome algún problema.

Te lo agradecería... :)

Brroz

  • Miembro de PLATA
  • *****
  • Mensajes: 1058
    • Ver Perfil
Re: Provocar Un Click En Form1
« Respuesta #17 en: Miércoles 14 de Abril de 2004, 09:24 »
0
Hola.

Parece ser que no puedo adjuntar el archivo (debe ser por el tamaño 229 kb.)

Pero lo único que me he limitado a hacer es añadir unos cuantos controles (un CommandButton, ListBox, ComboBox, SkinLabel, PictureBox) y situarlos de forma que no se solapen para comprobar que son visibles, y de hecho lo son.

Suerte.

Boo

  • Nuevo Miembro
  • *
  • Mensajes: 16
    • Ver Perfil
Re: Provocar Un Click En Form1
« Respuesta #18 en: Miércoles 14 de Abril de 2004, 17:18 »
0
Quieres decir que no necesitas hacer ningún click para ver los controles? Y has agregado el código que mencionabas antes para que así sea?
Código: Text
  1. Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
  2. Private Const WM_LBUTTONDBLCLK = &H203
  3.  
  4. Private Sub Form_Load
  5.    sendMessage Me.Hwnd, WM_LBUTTONDBLCLK, 0&, 0&
  6. End Sub
  7.  

Brroz

  • Miembro de PLATA
  • *****
  • Mensajes: 1058
    • Ver Perfil
Re: Provocar Un Click En Form1
« Respuesta #19 en: Miércoles 14 de Abril de 2004, 17:53 »
0
Hola Boo.

Efectivamente, NO he agregado ningún código y veo los controles sin hacer ningún click ... por si quieres más datos, está probado sin compilar el ejecutable corriendo en VB6 sp3 y w98 se.

Chao.