Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Shape Hintergrund transparent (https://www.delphipraxis.net/86794-shape-hintergrund-transparent.html)

owolicious 19. Feb 2007 20:44


Shape Hintergrund transparent
 
Hi,
folgendes: Wie kann ich den Hintergrund von einem Shape transparent machen, wenn ich das Shape immer wieder zeichnen muss?

Fettes Merci ;)

owolicious 21. Feb 2007 15:32

Re: Shape Hintergrund transparent
 
Liste der Anhänge anzeigen (Anzahl: 1)
hat niemand ne ahnung?
vllt kann man es ja auch anders machen aber ich weiss nicht wie und hab auch keine idee :)

hier nochmal das problem:

EDatabaseError 21. Feb 2007 15:34

Re: Shape Hintergrund transparent
 
Hmm...du setzt die Transparentcolor des Forms auf bspw: clFuchsia und den Hintergrund deines Shapes auch auf clFuchsia. dann sollte er transparent sein.

Tobi

owolicious 21. Feb 2007 15:43

Re: Shape Hintergrund transparent
 
hmm ne funktioniert leider nicht :(

kann ich nicht in der ursprungs datei von shape schauen? weil mit den normalen shapes geht es ja nur mit meinen definierten formen nicht...

b1zZ 21. Feb 2007 15:55

Re: Shape Hintergrund transparent
 
Ich weiss zwar nicht ob es dir hilft, aber im Prinzip kannst du das selbe ja auch mit einem Image lösen.

owolicious 21. Feb 2007 15:59

Re: Shape Hintergrund transparent
 
hmm ich glaube das ein image mehr resourcen frisst und da ich wahrscheinlich später mehr als 100 objekte habe werde ich mit diesen resourcen äußerst sparsam umgehen müssen...

Namenloser 21. Feb 2007 16:42

Re: Shape Hintergrund transparent
 
Was genau ist das für ein Shape? (Meins kann keine Pfeile)

owolicious 21. Feb 2007 19:50

Re: Shape Hintergrund transparent
 
ist eine abgeleitete komponente von tcustomcontrol in der die paint funktion einfach überschrieben bzw erweitert wurde... hab einfach auf das canvas einen pfeil gemalt...

Delphi-Quellcode:
unit Pfeil;

interface

uses
  SysUtils, Classes, Controls, Windows, Graphics;

type
  TMyPfeil = class(TCustomControl)
  private
    { Private declarations }
    FSelected : Boolean;
    procedure SetSelection(Value : Boolean);
  protected
    { Protected declarations }
     protected procedure Paint();override;
  public
    { Public declarations }
  published
    { Published declarations }
    property Selected: Boolean read FSelected write SetSelection;
  end;

procedure Register;

implementation

procedure Register;
begin
  RegisterComponents('Samples', [TMyPfeil]);
end;

procedure TMyPfeil.SetSelection(Value : Boolean);
begin
  FSelected := Value;
  if Value = True then
    Self.DoubleBuffered := true
  else
    Self.DoubleBuffered := False;
  Invalidate;
end;

procedure TMyPfeil.Paint;
begin
  inherited;

//  Canvas.Brush.Color := $00654987;
//  Canvas.Fillrect(Rect(0,0,self.Width, self.Height));

  Canvas.Brush.Color := $00000000;
  Canvas.Polygon([
    Point(self.Width-18,3),
    Point(self.Width - 10, Trunc(self.Height / 2)),
    Point(self.Width-18,self.Height-4)
  ]);

  Canvas.Pen.Color := $00000000;
  Canvas.MoveTo(8, Trunc(self.Height /2));
  Canvas.LineTo(self.Width - 4, Trunc(self.Height / 2));

  if self.Selected = True then begin
    Canvas.Pen.Color := $00000000;
    Canvas.Brush.Color := $00FFFFFF;

    Canvas.Rectangle(0, Trunc(self.Height /2)-4, 8, Trunc(self.Height /2)+4);
    Canvas.Rectangle(self.Width - 8, Trunc(self.Height /2)-4, self.Width, Trunc(self.Height /2)+4);
  end;
end;

end.

Namenloser 21. Feb 2007 20:02

Re: Shape Hintergrund transparent
 
Also bei einem CustomControl könnts schwierig werden. Ich würde die Komponente von TGraphicControl ableiten, dann müsste es gehen.

owolicious 21. Feb 2007 20:09

Re: Shape Hintergrund transparent
 
hmm dann funktioniert das doublebuffered aber nicht mehr... ?!?


Alle Zeitangaben in WEZ +1. Es ist jetzt 14:52 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz