PDA

Ver la Versión Completa : Controles transparentes no soportados


FGarcia
18-09-2008, 00:52:03
Bueno hice las bd de lado por un ratito...

El caso es este: tengo el trial de una biblioteca de controles ActiveX (SymbolFactory ActiveX). Los ejemplos que trae y la documentacion en si habla de programacion en vb y vc++ (¡¡¡cosa que por supuesto no uso!!!) al ser un Activex pues delphi lo puede manejar y ahi esta el problema, ¡no lo hace bien....!


---------------------------
SymFacX
---------------------------
Transparent controls are not supported by this container.
---------------------------
Aceptar
---------------------------


Este mensaje me aparece cuando coloco un control de estos (son imagenes de equipos industriales) en un formulario de delphi y trato de que sea transparente (lo dejo en opaco y queda un color de fondo). Ok, a lo mejor el problema es alguna capacidad del formulario, entonces coloque un panel sobre el form y ahi coloque el control activex....el mensaje es el mismo. ¿Alguien sabra como solucionar este problema?

Es Delphi 7 con el update 1. Gracias por la ayuda que puedan prestar.



desvirtuadores abstenganse!!!

cHackAll
18-09-2008, 00:59:37
Si son imagenes talvez esto (http://www.clubdelphi.com/foros/showpost.php?p=249751) te pueda servir

Saludos

FGarcia
18-09-2008, 01:33:54
Pues no, no funciono.....:(

En si no son imagenes, es un control ActiveX que integra una imagen, cuando lo colocas en el formulario -aun cuando sea un panel- el va siempre al form y al tratar de editar sus propiedades, entre ellas la transparencia es cuando me lanza el mensaje de error.:confused::confused:

coso
18-09-2008, 09:27:18
Hola,
si cuando intentas editar la transparencia del mismo control activex es cuando te salta el error (suponiendo q sea mediante alguna propiedad del mismo) es q esta mal programado. Creo q podrias hacerlo de manera 'manual'. Me explico, si existe dentro de tu activex hay un objeto TImage o parecido, puedes acceder a la propiedad transparentcolor (o equivalente) y canviarla a gusto... Para acceder a propiedades protegidas (o metodos) :



type THKClasedetuobjeto = class(TClasedetuobjeto);

var
prueba : THKClasedetuobjeto;


si ahora usas el 'code completion' (ctrl+espacio) despues de 'prueba', te apareceran todos los objetos de la clase TClasedetuObjeto. Seria lo dicho, buscar un TImage o equivalente, y intentar canviar su transparentcolor. Lo malo es q si usas esto, tendras que hacerlo todo por codigo, nada visualmente en tiempo de diseño :confused:. saludos y a ver si te sirve.