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 Mit Skins arbeiten (https://www.delphipraxis.net/15730-mit-skins-arbeiten.html)

Kinimod8 3. Feb 2004 14:31


Mit Skins arbeiten
 
Hallo,

ich habe eine Bitmap und ich möchte ein Formular in der Form dieses Bitmaps zeichnen (ist das Bitmap sternförmig, soll das Form sternförmig sein).

Wie geht das?

fkerber 3. Feb 2004 14:40

Re: Mit Skins arbeiten
 
Hi!

Vielleicht hilft das:

http://www.swissdelphicenter.ch/de/showcode.php?id=995


Ciao fkerber

Tonic1024 3. Feb 2004 14:47

Re: Mit Skins arbeiten
 
Hi...

Ich habe so ein Programm mal geschrieben... Ist ganz fürchterlich einfach - nur ein paar klicks im OI :lol:

Wurde in diesem Thread diskutiert. Wenn dir das noch nicht weiterhilft, helfe ich dir aber auch gerne weiter...


Bis denne...

Kinimod8 3. Feb 2004 17:38

Re: Mit Skins arbeiten
 
Bei mir gibts die Eigenschaft TransparentColor nicht...
:(

MrKnogge 3. Feb 2004 19:02

Re: Mit Skins arbeiten
 
Zitat:

Zitat von Kinimod8
Bei mir gibts die Eigenschaft TransparentColor nicht...
:(

gibts glaub erst ab Delphi 5, mit einer früeren Version wirds wohl nichts mit Skins, fa die Skin-Komponennten die ich kenn auch alle erst ab 5 benutzbar sind...

Stanlay Hanks 3. Feb 2004 19:07

Re: Mit Skins arbeiten
 
Hi. Such mal bei Torry. Da gibts einige Skin Kompos - z.B. "SkinForm 2.x" - Die ab Delphi 2 funktionieren.

Man liest sich, Stanlay :hi:

MrKnogge 3. Feb 2004 19:14

Re: Mit Skins arbeiten
 
Zitat:

Zitat von Stanlay Hanks
Hi. Such mal bei Torry. Da gibts einige Skin Kompos - z.B. "SkinForm 2.x" - Die ab Delphi 2 funktionieren.

Man liest sich, Stanlay :hi:

Aber wie willst du denn eine Form sternenfürmig machen, wenn du ihr nicht sagen kannst, dass sie an bestimmten Stellen durchsichtig ist/nicht existiert.

Stanlay Hanks 3. Feb 2004 19:16

Re: Mit Skins arbeiten
 
Hi. Das versteh ich nicht, sorry. Ich steh grade mal wieder auf der Leitung :wiejetzt:

MrKnogge 3. Feb 2004 19:25

Re: Mit Skins arbeiten
 
Er möchte, das seine Form aussieht wie ein Stern, hierzu müsstest du dann beispielsweise einen gelben Stern auf pinkem Hintergrund auf die Form malen, und sagen alles was pink ist mache duchsichtig (eben: TransparentColor).

Is aber wohl blödsinn (mein obiger Post), hab nämlich gerade folgenden Code im EasyDelphiHelper gefunden:
Delphi-Quellcode:
Das Formular wie ein Balloon anzeigen


Übernehme diese beiden Proceduren (OnCreate und OnPaint) und Stelle doe Eigenschaft BorderStyle auf bsNone:

procedure TForm1.FormCreate(Sender: TObject);
var
  formregion, beakregion: HRGN;
  beak: Array [0..2] of TPoint;
begin
  formregion := CreateRoundRectRgn(
                  0, 0, clientwidth, clientheight-48,
                  40, 40 );
  beak[0] := Point( 50, clientheight-50 );
  beak[1] := Point( 55, clientheight );
  beak[2] := Point( 80, clientheight-50 );
  beakregion := CreatePolygonRgn( beak, 3, WINDING );
  CombineRgn( formregion, formregion, beakregion, RGN_OR );
  DeleteObject( beakregion );
  SetWindowRgn( handle, formregion, true );
end;

procedure TForm1.FormPaint(Sender: TObject);
var
  temprgn: HRGN;
begin
  With Canvas.Brush Do Begin
    Color := clBlack;
    Style := bsSolid;
  End;
  temprgn := CreateRectRgn(0,0,1,1);
  GetWindowRgn( Handle, temprgn );
  FrameRgn( Canvas.Handle, temprgn,
            Canvas.Brush.handle, 1, 1 );
  DeleteObject( temprgn );        
end;
Zeigt dir deine Form wie ein Balloon an, musst halt in einen Stern abändern.

Kinimod8 3. Feb 2004 20:07

Re: Mit Skins arbeiten
 
Okay, meine Frage war einfach schlecht formuliert...

Ich meinte ich habe ein Bitmap das beinhaltet einen gelben Stern.

So, und jetzt gibt es weiße Stellen im Bitmap, und die sollen dann Transparent angezeigt werden.

P.S.: Für die, die nach einer Form-Ausgabe im Sternformat suchen:

Delphi-Quellcode:
const
  RgnPoints : array[1..10] of TPoint =
((X:203;Y:22), (X:157;Y:168), (X:3;Y:168),
(X:128;Y:257), (X:81;Y:402), (X:203;Y:334),
(X:325;Y:422), (X:278;Y:257), (X:402;Y:168),
(X:249;Y:168));

procedure TForm1.FormCreate(Sender: TObject);
var
  Rgn : HRGN;
begin
  Rgn := CreatePolygonRgn(RgnPoints, High(RgnPoints), ALTERNATE);
  SetWindowRgn(Handle, Rgn, True);
end;


Alle Zeitangaben in WEZ +1. Es ist jetzt 07:46 Uhr.
Seite 1 von 2  1 2      

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