| |
|
|
 |
Autor |
Nachricht |
 |
| |
| Coder90 |
#1| Verfasst am: 25.08.2006, 13:49 Titel: Form mit PNG Skin und VCL Controls |
 |
 |
 |
|
Mitglied Alter: 18 Status: offline Beiträge: 44 angemeldet: 08.11.2004 Wohnort: Ebhausen, BW RAD-Studio 2007 Architect

|
Edit//
turboPASCAL hat wahrscheinlich eine bessere Lösung gefunden
http://www.delphipraxis.net/post606056.html#606056
Hi
Nach endlosem rumgefriemel hab ichs endlich geschafft.
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 |
| [ An diesen Beitrag wurden eine oder mehrere Dateien angehängt. Zum Herunterladen bitte anmelden. ] |
Zuletzt bearbeitet von Coder90 am 19.03.2007, 21:17, insgesamt 3-mal bearbeitet. |
 |
|
|
|
| |
| Gandalfus |
#2| Verfasst am: 25.08.2006, 15:41 Titel: Re: Form mit PNG Skin und VCL Controls |
 |
 |
 |
|
Mitglied Status: offline Beiträge: 408 angemeldet: 19.04.2003 Delphi 2006 Professional

|
Warum benutzt du nicht Regions? |
 Besucht doch mal meine Homepage |
 |
|
|
|
| |
| himitsu |
#3| Verfasst am: 25.08.2006, 15:56 Titel: Re: Form mit PNG Skin und VCL Controls |
 |
 |
 |
|
sehr aktives Mitglied Alter: 29 Status: offline Beiträge: 9.254 angemeldet: 11.10.2003 Wohnort: Elbflorenz

|
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 |
 Und dann war da noch der junge Mann, der unbedingt Schriftsteller werden wollte.
Er wollte Emotionen wecken und die Leute zum weinen bringen.
Sein Traum wurde wahr ... er verfasst heute die Fehlermeldungen bei Microsoft!
Zuletzt bearbeitet von himitsu am 25.08.2006, 15:59, insgesamt 1-mal bearbeitet. |
 |
|
|
|
| |
| Coder90 |
#4| Verfasst am: 25.08.2006, 16:00 Titel: Re: Form mit PNG Skin und VCL Controls |
 |
 |
 |
|
Mitglied Alter: 18 Status: offline Beiträge: 44 angemeldet: 08.11.2004 Wohnort: Ebhausen, BW RAD-Studio 2007 Architect

|
| himitsu hat folgendes geschrieben: | Dennoch ist es nicht gerade 'ne ideale Lösung  |
Aber die einzige die ich kenne.
Hab bisher nirgendwo eine bessere gesehn. |
|
 |
|
|
|
| |
| BrainCracked |
#5| Verfasst am: 26.08.2006, 19:26 Titel: Re: Form mit PNG Skin und VCL Controls |
 |
 |
 |
|
Mitglied Status: offline Beiträge: 62 angemeldet: 18.08.2006 Wohnort: Herford

|
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. |
|
 |
|
|
|
| |
| turboPASCAL |
#6| Verfasst am: 06.09.2006, 14:26 Titel: Re: Form mit PNG Skin und VCL Controls |
 |
 |
 |
|
sehr aktives Mitglied Alter: 41 Status: offline Beiträge: 3.405 angemeldet: 08.05.2005 Wohnort: Sondershausen Delphi 6 Personal

|
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. |
| [ An diesen Beitrag wurden eine oder mehrere Dateien angehängt. Zum Herunterladen bitte anmelden. ] |
 Grüße vom Rüsselmops -Mops Mopser |
 |
|
|
|
| |
| Coder90 |
#7| Verfasst am: 11.09.2006, 22:07 Titel: Re: Form mit PNG Skin und VCL Controls |
 |
 |
 |
|
Mitglied Alter: 18 Status: offline Beiträge: 44 angemeldet: 08.11.2004 Wohnort: Ebhausen, BW RAD-Studio 2007 Architect

|
@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 |
Zuletzt bearbeitet von Coder90 am 12.09.2006, 00:14, insgesamt 4-mal bearbeitet. |
 |
|
|
|
| |
| turboPASCAL |
#8| Verfasst am: 11.09.2006, 23:36 Titel: Re: Form mit PNG Skin und VCL Controls |
 |
 |
 |
|
sehr aktives Mitglied Alter: 41 Status: offline Beiträge: 3.405 angemeldet: 08.05.2005 Wohnort: Sondershausen Delphi 6 Personal

|
| Coder90 hat folgendes geschrieben: | @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. |
 Grüße vom Rüsselmops -Mops Mopser |
 |
|
|
|
| |
| Schneehasi |
#9| Verfasst am: 05.12.2006, 11:58 Titel: Re: Form mit PNG Skin und VCL Controls |
 |
 |
 |
|
Mitglied Alter: 29 Status: offline Beiträge: 50 angemeldet: 26.09.2003 Wohnort: Braunschweig Delphi 7 Personal

|
leg das transparente Form mal über nen Video ... dann ist leider Schluss mit transparenz gibt es dafür nen Weg, oder ist das aussichtslos ? |
 -> wer Rechtschreibfehler findet darf sie behalten ! <- |
 |
|
|
|
| |
| delphinia |
#10| Verfasst am: 15.12.2006, 18:05 Titel: Re: Form mit PNG Skin und VCL Controls |
 |
 |
 |
|
Mitglied Status: offline Beiträge: 318 angemeldet: 16.02.2006 Delphi 5 Standard

|
gibt es ne möglichkeit das auch für D5 zu machen? |
 Gruss Doreen |
 |
|
|
|
| |
| jakobwenzel |
#11| Verfasst am: 15.12.2006, 18:26 Titel: Re: Form mit PNG Skin und VCL Controls |
 |
 |
 |
|
Mitglied Alter: 16 Status: offline Beiträge: 136 angemeldet: 31.08.2005 Wohnort: Ingelheim am Rhein Delphi 2006 Professional

|
@Schneehasi: Graka-Overlays deaktivieren |
 "My store now sells Ninja Weapons!"
Comicverkäufer bei den Simpsons |
 |
|
|
|
| |
| julben |
#12| Verfasst am: 11.02.2007, 19:30 Titel: Re: Form mit PNG Skin und VCL Controls |
 |
 |
 |
|
Mitglied Status: offline Beiträge: 13 angemeldet: 01.07.2006 Delphi 2006 Architect

|
Ist es normal, dass die Schrift so "unsauber" ist (also mit dem Rand)? Das ist bei der Demo-App und bei meiner Selbsterstellten. Auf Coder90's Screenshot isses ja ganz sauber. |
|
 |
|
|
|
| |
| Coder90 |
#13| Verfasst am: 11.02.2007, 19:40 Titel: Re: Form mit PNG Skin und VCL Controls |
 |
 |
 |
|
Mitglied Alter: 18 Status: offline Beiträge: 44 angemeldet: 08.11.2004 Wohnort: Ebhausen, BW RAD-Studio 2007 Architect

|
Schau dir lieber mal die Lösung von turboPASCAL an.
Ich glaube die ist besser als meine.
Bin nur leider noch nicht dazu gekommen das ausgiebig zu testen.
MfG |
|
 |
|
|
|
| |
| julben |
#14| Verfasst am: 11.02.2007, 20:08 Titel: Re: Form mit PNG Skin und VCL Controls |
 |
 |
 |
|
Mitglied Status: offline Beiträge: 13 angemeldet: 01.07.2006 Delphi 2006 Architect

|
Da hat die Schrift auch den pinken Rand.
Ich vermute ma, liegt an Windows, hab ja die schon kompilierten Demos genommen. |
| [ An diesen Beitrag wurden eine oder mehrere Dateien angehängt. Zum Herunterladen bitte anmelden. ] |
Zuletzt bearbeitet von julben am 11.02.2007, 20:09, insgesamt 1-mal bearbeitet. |
 |
|
|
|
| |
| Coder90 |
#15| Verfasst am: 11.02.2007, 20:18 Titel: Re: Form mit PNG Skin und VCL Controls |
 |
 |
 |
|
Mitglied Alter: 18 Status: offline Beiträge: 44 angemeldet: 08.11.2004 Wohnort: Ebhausen, BW RAD-Studio 2007 Architect

|
Das liegt daran, weil bei dir die Schriftart am Rand halbtranzparente Pixel hat.
Der gleiche Grund warum man auch den XP-Style nicht benutzen kann.
Versuch mal in deinem Programm eine Schriftart einzustellen die keine halbtranzparente Pixel am Rand hat.
MfG |
|
 |
|
|
|
 |
|
 |
| |
|
|
| |
 
|
|