AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Projekte Form mit PNG Skin und VCL Controls
Thema durchsuchen
Ansicht
Themen-Optionen

Form mit PNG Skin und VCL Controls

Ein Thema von Coder90 · begonnen am 25. Aug 2006 · letzter Beitrag vom 18. Sep 2011
Antwort Antwort
Seite 1 von 6  1 23     Letzte »    
Benutzerbild von Coder90
Coder90
Registriert seit: 8. Nov 2004
Edit//
turboPASCAL hat wahrscheinlich eine bessere Lösung gefunden

http://www.delphipraxis.net/internal...=606056#606056

Hi
Nach endlosem rumgefriemel hab ichs endlich geschafft.

http://img134.imageshack.us/img134/785/skinbl1.png
Screenshot 2

Eine transparente PNG Form mit VCL Controls.
Kein geruckel beim verschieben und sehr CPU freundlich.
Perfekt geeignet für kleine Utilities und Widgets.
Und das Beste: es ist kostenlos.

Die ganze Sache besteht aus 2 Forms.
Einmal die Hauptform mit den Controls. Durch TransparentColor wird der Hintergrund durchsichtig gemacht. Nachteil: Komponenten mit Transparents wie die XP Buttons werden mit Rand dargestellt.
Auf der 2. Form wird die PNG per Graphics32 angebracht. Dadurch gehn die VCL Controls verloren. Deshalb auf einer extra Form.
Durch ein bischen friemelei wird die erste Form immer vor der zweiten Form gehalten und beim verschieben mitbewegt.

Zum kompilieren braucht man die Graphics32, die GR32_PNG.pas (unten) und PNGImage.

Der Source ist nicht der beste.
Über Verbesserungvorschläge würd ich mich freuen.
Danke

Crossposting DF

MfG, Coder90
Miniaturansicht angehängter Grafiken
skinbl1_901.png  
Angehängte Dateien
Dateityp: zip alphaform_133.zip (164,8 KB, 626x aufgerufen)
Dateityp: pas gr32_png_477.pas (2,4 KB, 598x aufgerufen)
Dateityp: zip alphaformexe_150.zip (430,8 KB, 645x aufgerufen)
 
Gandalfus

 
Delphi 2006 Professional
 
#2
  Alt 25. Aug 2006, 14:41
Warum benutzt du nicht Regions?
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

 
Delphi 12 Athens
 
#3
  Alt 25. Aug 2006, 14:56
Ich würd mal sagen, weil Regions keine Teiltransparenz zulassen?


Dennoch ist es nicht gerade 'ne ideale Lösung
(hab aber och nüschts Besseres)

PS: das mit dem "Rahmen" um abgerundete (XP)-Controls tauchst auch schon auf, wenn man DoubleBuffered aktiviert . liegt halt daran, daß beim Zeichnen der Hintergrund nicht vorhanden ist und daher dieser als Schwarz gezeichnet wird
  Mit Zitat antworten Zitat
Benutzerbild von Coder90
Coder90

 
Delphi 2007 Architect
 
#4
  Alt 25. Aug 2006, 15:00
Zitat von himitsu:
Dennoch ist es nicht gerade 'ne ideale Lösung
Aber die einzige die ich kenne.
Hab bisher nirgendwo eine bessere gesehn.
  Mit Zitat antworten Zitat
BrainCracked
 
#5
  Alt 26. Aug 2006, 18:26
Ich habe die Graphics32 jetzt installiert. Aber bei der GR32_PNG.pas kommt immer eine Fehlermeldung. Soll die Komponente noch in das Package von Graphics32? Wie macht man das? Ich nutze Delphi 2005 PE.
  Mit Zitat antworten Zitat
Benutzerbild von turboPASCAL
turboPASCAL

 
Delphi 6 Personal
 
#6
  Alt 6. Sep 2006, 13:26
Zugegeben, die Idee ist nicht schlecht aber auch nicht neu.

Ich gehe einen anderen Weg, einfach das Bitmap der Form verwenden ( FormX.GetFormImage ).
Das wird dan per Transparentcolor auf das "Pngfenster" gezeichnet.

Im Anhang mal ein Demoprojeckt. Aber Achtung, irgrnd wo ist noch ein dickes Memoryleak.
Entweder in meinem Programm oder in der GR32.Pas.

An sonsten bleibt nur noch der Weg sich die Controld wie Buttons, Labels usw. neu zu schreiben und diese auf das Bitmap zu zeichnen.
Miniaturansicht angehängter Grafiken
image1_182.gif  
Angehängte Dateien
Dateityp: zip alphatest3_179.zip (132,3 KB, 853x aufgerufen)
Matti
  Mit Zitat antworten Zitat
Benutzerbild von Coder90
Coder90

 
Delphi 2007 Architect
 
#7
  Alt 11. Sep 2006, 21:07
@BrainCracked: Es reicht wenn die GR32_PNG.pas in einem Verzeichniss ist, welches Delphi im Suchpfad hat
oder im gleichen Ordner wie das Projekt, dass sie verwendet.
Auserdem musst du noch PNGImage installieren.
Ich hab auch D2005PE und es funktioniert. ^^

@turboPASCAL:
Gute Idee ABER deine Form lässt sich nicht verschieben.
Meine schon. (Einfach irgendwo aufs PNG klicken)
Edit// Werds nochmal unter die Lupe nehmen
  Mit Zitat antworten Zitat
Benutzerbild von turboPASCAL
turboPASCAL

 
Delphi 6 Personal
 
#8
  Alt 11. Sep 2006, 22:36
Zitat von Coder90:
@turboPASCAL:
Gute Idee ABER deine Form lässt sich nicht verschieben.
Meine schon. (Einfach irgendwo aufs PNG klicken)

...
Hatte ich bei dem Demo auch nicht vorgesehen, das verschieben ist das einfachste.
DAs Prob. war nur die Form ohne Form aber mit Controls.
Matti
  Mit Zitat antworten Zitat
Schneehasi

 
Delphi 7 Personal
 
#9
  Alt 5. Dez 2006, 09:58
leg das transparente Form mal über nen Video ... dann ist leider Schluss mit transparenz gibt es dafür nen Weg, oder ist das aussichtslos ?
  Mit Zitat antworten Zitat
delphinia

 
Delphi 11 Alexandria
 
#10
  Alt 15. Dez 2006, 16:05
gibt es ne möglichkeit das auch für D5 zu machen?
Doreen
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 6  1 23     Letzte »    


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 19:14 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