Buenos dias gente, paso a detallar un inconveniente que no puedo solucionar hace ya dos dias.
Estoy utilzando Delphi XE. Quiero hacer algo simple. Tengo un TPanel donde quiero dibujar una linea en diagonal con fondo TRANSPARENTE. Para eso creo una TImage, dibujo la linea, seteo la imagen como transparente, seteo el SetBkMode y la coloco como parent del panel.
El problema esta en que la linea la dibuja correctamente, pero el fondo no es transparente, si no que es blanco (tapando todo lo que esta detras). Lo mas desesperante es que depende de que PC este ejecutando. Desde donde estoy ahora se genera el fondo transparente, pero si ejecuto la aplicacion desde otra pc (con el mismo S.O.) el fondo es blanco.
Les paso el codigo:
Código:
procedure TfrmMainDesign.createLine();
var
newLine : TImage;
OldMode: integer;
begin
newLine := TImage.Create(self);
newLine.Width := 380;
newLine.Height := 220;
oldMode := SetBkMode(newLine.Canvas.Handle, TRANSPARENT);
newLine.Canvas.Pen.Color := clBlack;
newLine.Canvas.Pen.Width := 2;
newLine.Canvas.Brush.Style := bsClear;
newLine.Canvas.Pen.Style := psSolid;
newLine.Canvas.MoveTo(0,0);
newLine.Canvas.LineTo(380, 220);
SetBkMode(newLine.Canvas.Handle, oldMode);
newLine.Transparent := True; //he probado sacando esta linea y tampoco funciona
newLine.Visible := True;
newLine.Parent := panel3;
Espero sus respuestas,
saludos!