• Viernes 8 de Noviembre de 2024, 13:04

Mostrar Mensajes

Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.


Mensajes - juanfosaiz

Páginas: [1]
1
Visual Basic 6.0 e inferiores / Re: TransOCX (Frames Transparentes)
« en: Lunes 22 de Marzo de 2010, 10:04 »
Hola a todos y gracias de nuevo, Nebire. Bueno, lo primero decirte que el ejercicio de muestra me aclara más dudas de las que yo pensaba (...), y muy buenas las ideas que expones, la de cambio de contenedor y la del desanidamiento de frames (éstas incluso me sirven para otras aplicaciones que tengo pendientes).

Muchas gracias de nuevo y saludos cordiales.

2
Visual Basic 6.0 e inferiores / Re: TransOCX (Frames Transparentes)
« en: Jueves 18 de Marzo de 2010, 13:21 »
Muchas gracias por las aclaraciones, Nebire. Al final supongo que seguiré tu consejo de quitar los frames e imitarlos con labels y paint pictures, va a ser un poco 'rollo' pero qué se leva a hacer (jeje)... Pero antes registraré el control y 'a ver qué tal', ya que yo también lo tengo localizado en otra carpeta.

 También miraré con atención tu ejercicio de prueba, me resulta bastante interesante, tanto para éste como para futuros proyectos.

 Muchas gracias por todo y un saludo.

3
Visual Basic 6.0 e inferiores / Re: TransOCX (Frames Transparentes)
« en: Miércoles 17 de Marzo de 2010, 08:23 »
Por supuesto.

...cesol.es/TransOCX/TRANS11A.zip

Gracias de nuevo.

4
Visual Basic 6.0 e inferiores / Re: TransOCX (Frames Transparentes)
« en: Martes 16 de Marzo de 2010, 10:15 »
Hola de nuevo, ya probé las opciones que me has dado, pero pese a la lógica aplastante de tu respuesta, de momento sigo con el mismo problema, no consigo llevar al fondo los controles "Transparent" desde el código. Debe ser que estos controles "Transparent" están limitados en cuanto a ciertas propiedades, aunque la propiedad ZOrder sale en el desplegable de opciones al dar al punto después del nombre (name) del control. He investigado más sobre este control "Transparent", como sus propiedades "ShowClient" y "ShowNonClient" porque no sé muy bien de que van, pero no he visto nada. Bueno creo que lo he hecho bien, pero por si acaso te paso los códigos que me has pasado interpretados en mi ejercicio.

Éste es el 1º:

Citar
2.Dim c as Control
3.On Local Error Resume Next  
4.For Each c In DatosSoldador.Controls ' ó Me.Controls
5.     If TypeName(c)= "Transparent"  Then
6.          c.ZOrder (1)
7.     End If
8.Next

Y el 2º:

Citar
-------------------arriba, en la declaración general

Dim Trans As Scripting.Dictionary

------------------------------------en el load
Dim c As Control, k As Long
   Set Trans = New Scripting.Dictionary
    For Each c In DatosSoldador.Controls ' ó Me.Controls
       If TypeName(c) = "Transparent" Then
            k = k + 1
           Call Trans.Add(CStr(k), c)
        End If
    Next
    Call EnviarAlfondo
-----------------------------------y el Sub EnviarAlFondo
Private Sub EnviarAlfondo()

  Dim c As Object, k As Long

    For k = 1 To Trans.Count
        Set c = Trans.Item(CStr(k))
       c.ZOrder (1)
      '  c.BackColor = vbRed  ' he comentado la línea por que efectivamente da error.
    Next
End Sub

Con lo que sea, de verdad te doy las gracias por ayudarme, por lo menos lo estamos intentando.

5
Visual Basic 6.0 e inferiores / Re: TransOCX (Frames Transparentes)
« en: Viernes 12 de Marzo de 2010, 14:55 »
Hola de nuevo a todos y muchas gracias, Nebire, me ha parecido una respuesta de lo más competente, te lo aseguro. En cuanto pueda lo pruebo y comento resultados.

Gracias de nuevo y un saludo.

6
Visual Basic 6.0 e inferiores / TransOCX (Frames Transparentes)
« en: Miércoles 10 de Marzo de 2010, 16:44 »
Hola a todos, me llamo Juan Fran, soy nuevo en el foro y lo primero que deseo, después de presentarme, es agradecer la existencia de este sitio de ayuda y donde se comparten
conocimietos. También quiero disculparme por si el primer tema que expongo tiene un texto demasiado largo.

Estoy cambiando la imágen gráfica de un formulario, y después de buscar sobre cómo evitar que objetos Frame se interpongan en el fondo del formulario (jpg) por no tener propiedades de transparencia o BackStyle, he encontrado el complemento (OCX) llamado "TransOCX", que convierte Frames en transparentes. El tema funciona, se trata poner el control TransOCX encima del propio Frame para que se haga transparente, y lo que pasa es que para que funcione tienes que, en vista diseño, "Enviar al fondo" todos los controles TransOCX, pero cuando vuelvo a cambiar algo en el formulario y lo vuelvo a ejecutar, vuelve a verse el fondo tapado por los colores de fondo de los frames, por lo que tengo que volver a la vista de diseño del ejercicio y volver a "Enviar al fondo" cada control TransOCX a mano, para que no interfieran los frames en el fondo del formulario.

Bueno pues he buscado y probado algunas cosas, como la propiedad ZOrder ("Transparent1.ZOrder (1)" para enviar al fondo (SendToBack)), pero no me ha funcionado, sigo teniendo que cambiar todos los TransOCX en vista de diseño cada vez que hago algún cambio en el módulo que sea del proyecto, y no digo ya el rollo que será cuando tenga 30 en vez de 5 que tengo ahora colocados. Tiene que haber algo que se pueda hacer en vista de código que sea definitivo. El "SendToBack" no me lo reconoce por la versión del VB (VB6 SP6).

Por favor, ¿existe algún truco o código para no tener que andar haciendo "Enviar al fondo" en vista de diseño cada control TransOCX cada vez que modifique el proyecto?

En la figura 1 muestro la colocación de los controles TransOCX en vista diseño en el formulario original (flechas rojas), en la figura 2 muestro el diseño que he hecho con el potochop para el fondo del formulario, y en la figura 3 se ve como queda en tiempo de ejecución la aplicación con el fondo nuevo. El cambio es radical.

Fig. 1: (por favor, poner tres 'w' antes de los nombres de las figuras y ponerlos en un navegador para verlas, ya que todavía no tengo autorización para poner enlaces en el foro)
cesol.es/Fig1.jpg

Fig. 2:
cesol.es/Fig2.jpg

Fig. 3:
cesol.es/Fig3.jpg

Las dos zonas naranjas de la Fig.3 es otra cosa que quería preguntar, ya que debe ser que al ser frames anidados dentro del frame que les rodea, ni siquiera haciendo "Enviar al fondo" en vista diseño de sus controles TransOCX respectivos, soy capaz de hacer que no se vea el color del fondo el frame original, y me tapa ciertos controles de los Frames y el fondo del formulario.

A ver si alguien me puede hechar una manilla o dar algún consejo, cualquier cometario será de agradecer.

Muchas gracias de antemano y saludos.

juanFran.

Páginas: [1]