Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi transparentes Form mit PNG .. ich komm nicht weiter (https://www.delphipraxis.net/81731-transparentes-form-mit-png-ich-komm-nicht-weiter.html)

Schneehasi 2. Dez 2006 20:14


transparentes Form mit PNG .. ich komm nicht weiter
 
Hallo, ich benutze den hier angegebenen Code

hier

um eine Art splash screen zu machen mit einem transparenten PNG ... das schaut auch so schon sehr gut aus , ich möchte aber auf das Bild noch andere Komponenten zeichnen ( zB Labels und andere Bilder)

leider ist alles was ich sehe das eine PNG ... alles andere wird nicht angezeigt :-/

weiß jemand Rat ?

Gruß, Thomas

xaromz 3. Dez 2006 09:51

Re: transparentes Form mit PNG .. ich komm nicht weiter
 
Hallo,

laut Microsoft und auch einigen Testern hier im Forum geht das nicht. Ich zeichne immer alles, was ich anzeigen will, direkt auf das Bild.

Gruß
xaromz

Schneehasi 3. Dez 2006 11:44

Re: transparentes Form mit PNG .. ich komm nicht weiter
 
das find ich nicht toll das das nicht geht ...

im Prinzip möchte ich folgendes machen

ein halbransparentes Form (oder was auch immer) auf einen anderen Untergrund (bewegt) legen und auf diesen halbtransparenten Bereich zeichnen Labels legen, etc

Zitat:

Ich zeichne immer alles, was ich anzeigen will, direkt auf das Bild.
wie meinst du das ? du malst es mit in das PNG ? oder versteh ich das jetzt falsch ?

Gruß

turboPASCAL 3. Dez 2006 11:56

Re: transparentes Form mit PNG .. ich komm nicht weiter
 
Ja, das geht mit einem Trick:

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

xaromz 3. Dez 2006 12:01

Re: transparentes Form mit PNG .. ich komm nicht weiter
 
Hallo,
Zitat:

Zitat von Schneehasi
wie meinst du das ? du malst es mit in das PNG ?

Genau. Immer, wenn sich etwas ändert, nehme ich mein PNG, male drauf und übergebe das Ergebnis an UpdateLayeredWindow.

Gruß
xaromz

Schneehasi 3. Dez 2006 12:14

Re: transparentes Form mit PNG .. ich komm nicht weiter
 
Zitat:

Zitat von turboPASCAL

den Thread kannte ich noch nicht ... werd das wohl mal probieren ... ansonsten muss ich das Vorhaben wohl verwerfen und eien andere Lösung schaffen :-/

bei Erfolg lass ich es euch wissen ;-)

Gruß

Schneehasi 3. Dez 2006 17:32

Re: transparentes Form mit PNG .. ich komm nicht weiter
 
Liste der Anhänge anzeigen (Anzahl: 1)
ich möchte nur kurz noch zeigen um was es mir geht ... das geht am einfachsten an einem Screener :-)

der leicht hellere Bereich in diesem Bild ist ein halbtransparentes PNG auf einem Form welches auf dem Untergrund schwebt.

auf diesem möcht ich nun noch andere Sachen zeichnen (in diesem Fall die Lautstärke) ... vielleicht hat ja noch jemand eien ganz anderen Ansatz dies zu lösen ?

Grüße

Khabarakh 3. Dez 2006 18:29

Re: transparentes Form mit PNG .. ich komm nicht weiter
 
Liste der Anhänge anzeigen (Anzahl: 1)
Gerade weil du nach einem "ganz anderen Ansatz" fragst, kann ich dir die Schönheit von WPF einfach nicht vorenthalten :duck: .

PS: Das obere ist ein ganz normal verwendbares Edit. Für eigene Styles war ich jetzt mal zu faul :mrgreen: .

Schneehasi 4. Dez 2006 07:48

Re: transparentes Form mit PNG .. ich komm nicht weiter
 
Zitat:

Zitat von Khabarakh
Gerade weil du nach einem "ganz anderen Ansatz" fragst, kann ich dir die Schönheit von WPF einfach nicht vorenthalten :duck: .

PS: Das obere ist ein ganz normal verwendbares Edit. Für eigene Styles war ich jetzt mal zu faul :mrgreen: .

das schaut genial aus und ist im Prizip genau das was ich möchte ... verrätst du mir wie du es machst ? oder ist das mit der Lösung mit den mehreren Forms über eineander ?

:-)

kann mich gar nicht sattsehen an dem Ding *g*

edit

ich glaub ich weiß nun was du mit WPF meinst ... :-/ .. das ist das neue M$ Framework. Mhh gibt es einen Weg dieses auch mit D7 einzusetzen ?

:-)

Khabarakh 5. Dez 2006 15:45

Re: transparentes Form mit PNG .. ich komm nicht weiter
 
Zitat:

Zitat von Schneehasi
ich glaub ich weiß nun was du mit WPF meinst ... :-/ .. das ist das neue M$ Framework.

So isses. Und dieses lässt sich eben nur mit .Net-Sprachen nutzen. Aber es bestätigt gleichzeitig auch, dass es wohl nur eine einzige Nicht-Frickel-Lösung: Auf die Win-API verzichten und alle Controls vollkommen eigenständig zeichnen. Und ja, WPF sieht einfach geil aus *g* .

Schneehasi 6. Dez 2006 07:35

Re: transparentes Form mit PNG .. ich komm nicht weiter
 
nun gut dann gibts keine transparente Lautstärkeregelung ... weil das was an der Frickellösung auch nicht geht ist das (halb-)transparente Fenster auf ein Video zu legen :-( .. geht schon nur dann isses halt nimmer transparent, und das war genau das was ich brauchte

Schneehasi 27. Dez 2006 09:17

Re: transparentes Form mit PNG .. ich komm nicht weiter
 
ich wollt mich noch nicht geschlagen geben und wollte noch eine Sache probieren ...
Form auf Form legen und den Bildteil der durch das obenliegende Form verdeckt wird kopieren und auf das Form oben einfügen ... ( dabei das Eingefügte abdunkeln ) .. und schon hab ich genau den Effekt den ich brauche

Delphi-Quellcode:
procedure TfVolumeBar.WMPaint(var Message: TWMPaint);
var
  DC: HDC;
begin
  DC := GetDC(MainForm.Handle);
  BitBlt(imgBackground.Canvas.Handle, 0, 0, left, top, DC, left, top, SRCCOPY);
  ReleaseDC(Application.Handle, DC);
  imgBackground.Repaint;
  inherited;
end;
gut gut .. das geht auch so, Problem ist aber, wenn sich im unten liegenden Form etwas an der verdeckten Stelle ändert, bekommt das oben liegende dies nicht mit ( auch wenn ein Timer alle paar mS ein Paint sendet )

... kann es sein , dass Windows den verdekten Teil gar nicht neu malt ? und somit geht das kopieren auf einen "alten" Bildausschnitt los ?

Wie kann ich das lösen ?

Schneehasi 29. Dez 2006 10:34

Re: transparentes Form mit PNG .. ich komm nicht weiter
 
ich konnte das Problem noch nicht lösen ...

*push* :-(


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:09 Uhr.

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-2025 by Thomas Breitkreuz