AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Shape Hintergrund transparent

Offene Frage von "owolicious"
Ein Thema von owolicious · begonnen am 19. Feb 2007 · letzter Beitrag vom 23. Feb 2007
Antwort Antwort
Seite 1 von 2  1 2      
owolicious

Registriert seit: 14. Feb 2007
38 Beiträge
 
#1

Shape Hintergrund transparent

  Alt 19. Feb 2007, 20:44
Hi,
folgendes: Wie kann ich den Hintergrund von einem Shape transparent machen, wenn ich das Shape immer wieder zeichnen muss?

Fettes Merci
  Mit Zitat antworten Zitat
owolicious

Registriert seit: 14. Feb 2007
38 Beiträge
 
#2

Re: Shape Hintergrund transparent

  Alt 21. Feb 2007, 15:32
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:
Miniaturansicht angehängter Grafiken
unbenannt-2_137.jpg  
  Mit Zitat antworten Zitat
EDatabaseError

Registriert seit: 11. Mai 2005
Ort: Göppingen
1.238 Beiträge
 
Delphi 2007 Professional
 
#3

Re: Shape Hintergrund transparent

  Alt 21. Feb 2007, 15:34
Hmm...du setzt die Transparentcolor des Forms auf bspw: clFuchsia und den Hintergrund deines Shapes auch auf clFuchsia. dann sollte er transparent sein.

Tobi
Tobias
It's not a bug, it's a feature.
  Mit Zitat antworten Zitat
owolicious

Registriert seit: 14. Feb 2007
38 Beiträge
 
#4

Re: Shape Hintergrund transparent

  Alt 21. Feb 2007, 15:43
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...
  Mit Zitat antworten Zitat
b1zZ

Registriert seit: 8. Aug 2005
Ort: Wischhafen
52 Beiträge
 
Delphi 2009 Enterprise
 
#5

Re: Shape Hintergrund transparent

  Alt 21. Feb 2007, 15:55
Ich weiss zwar nicht ob es dir hilft, aber im Prinzip kannst du das selbe ja auch mit einem Image lösen.
  Mit Zitat antworten Zitat
owolicious

Registriert seit: 14. Feb 2007
38 Beiträge
 
#6

Re: Shape Hintergrund transparent

  Alt 21. Feb 2007, 15:59
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...
  Mit Zitat antworten Zitat
Namenloser

Registriert seit: 7. Jun 2006
Ort: Karlsruhe
3.724 Beiträge
 
FreePascal / Lazarus
 
#7

Re: Shape Hintergrund transparent

  Alt 21. Feb 2007, 16:42
Was genau ist das für ein Shape? (Meins kann keine Pfeile)
  Mit Zitat antworten Zitat
owolicious

Registriert seit: 14. Feb 2007
38 Beiträge
 
#8

Re: Shape Hintergrund transparent

  Alt 21. Feb 2007, 19:50
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.
  Mit Zitat antworten Zitat
Namenloser

Registriert seit: 7. Jun 2006
Ort: Karlsruhe
3.724 Beiträge
 
FreePascal / Lazarus
 
#9

Re: Shape Hintergrund transparent

  Alt 21. Feb 2007, 20:02
Also bei einem CustomControl könnts schwierig werden. Ich würde die Komponente von TGraphicControl ableiten, dann müsste es gehen.
  Mit Zitat antworten Zitat
owolicious

Registriert seit: 14. Feb 2007
38 Beiträge
 
#10

Re: Shape Hintergrund transparent

  Alt 21. Feb 2007, 20:09
hmm dann funktioniert das doublebuffered aber nicht mehr... ?!?
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:08 Uhr.
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