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 Ganze Form bzw. Shape durchsichtig gestalten (https://www.delphipraxis.net/93643-ganze-form-bzw-shape-durchsichtig-gestalten.html)

Aike 8. Jun 2007 20:25


Ganze Form bzw. Shape durchsichtig gestalten
 
Hallöchen,

ich habe im Forum zum Thema "Wie mache ich meine Form durchsichtig" gesucht und als Antwort eigentlich die Property "AlphaBlend" gefunden. Gefreut, ausprobiert, nicht mehr gefreut. Mein Notebook hat sich mit einem BlueScreen (XP) aufgehängt mit dem Verweis, dass eine Grafik-Datei beschädigt sei (lol). Na ja, dacht ich mir, altes Notebook ... zickt sowieso immer rum. Programm auf dem PC getestet und da hat sich der PC nur fast aufgehängt. Mit Müh und Not und einigem Warten konnte ich das Programm wieder schließen.

Das hat mich ein bisschen irritiert, denn:
Ich habe zum Test vorher eine leere Anwendung erstellt, eine Trackbar drauf gesetzt und kurz das hier gecodet (ich nutze D7):
Delphi-Quellcode:
procedure TForm1.Form1Create();
begin
  Trackbar1.AlphaBlend:=true;
  Trackbar1.Max:=255;
  Trackbar1.Position:=255;
end;

procedure TForm1.Trackbar1Change();
begin
  self.AlphaBlendValue:=Trackbar1.Position;
end;
Das funktioniert prima, auch auf meinem Notebook.

Da ich mich mit der Thematik eh kaum auskenne, habe ich auch keine Ahnung, was das Problem sein könnte, oder wo/wie ich ansetzen könnte, um den Fehler auszumerzen. Wenn ihr wollt, kann ich das Programm auch mal posten ...

Wie immer bin ich für Tipps dankbar :cat:

Cyberbob 8. Jun 2007 22:05

Re: Ganze Form bzw. Shape durchsichtig gestalten
 
Du kannst deine TrackBar nichr AlphaBlenden. Nur die Ganze Form. Also:
Delphi-Quellcode:
Form1.AlphaBlend := True;

Un so wird das ganze dann geblended:
Delphi-Quellcode:
Form1.AlphaBlendValue := TrackBar.Position;
Es ist nur über Umwege möglich, Komponenten Alpha zu Blenden (Stichwort: Selbst Zeichnen)

Aike 11. Jun 2007 11:23

Re: Ganze Form bzw. Shape durchsichtig gestalten
 
Oh, ups. Das war ein Fehler meinerseits. Natürlich soll die ganze Form "geblendet" werden und nicht die Trackbar. Ich hatte es richtig programmiert und dann hier falsch abgeschrieben.

Cyberbob 11. Jun 2007 11:58

Re: Ganze Form bzw. Shape durchsichtig gestalten
 
Liste der Anhänge anzeigen (Anzahl: 1)
Geht es denn mitlerweile? Oder hast du immer noch das gleiche Problem?
Versuch mal mein Beispiel. Ansonsten sind irgendwelche Dateien beschädigt oder deinen Graka beherrscht das nicht.

Aike 11. Jun 2007 15:44

Re: Ganze Form bzw. Shape durchsichtig gestalten
 
Dein Beispielprogramm funktioniert genauso wie mein Testprogramm. Wie gesagt, hatte ich es oben nur falsch abgeschrieben; im Programm-Code war's schon richtig. Nur in meiner konkreten Anwendung, in die ich es einbauen will, gibt das die schlimmsten Probleme ... sodass der ganze Rechner den Geist aufgeben möchte.

Cyberbob 11. Jun 2007 16:14

Re: Ganze Form bzw. Shape durchsichtig gestalten
 
wie umfangreich ist dein programm denn? hast du komponenten verwendet, die sich damit stören? was genau macht dein programm?

Chaismo 12. Jun 2007 13:46

Re: Ganze Form bzw. Shape durchsichtig gestalten
 
Also mich würde es mal interesieren ob man das ganze auch in Delpgi 6 umsetzen könte wiel soweit ich weiß gibts das dort noch nicht oder?

Cyberbob 12. Jun 2007 16:46

Re: Ganze Form bzw. Shape durchsichtig gestalten
 
Doch gibts. Ich benutze Delphi6. alphaBlend ist seit Windows 2000 möglich. Und wenn dein Delphi das nicht kennt benutze das
Delphi-Quellcode:
SetWindowLong(Handle, GWL_EXSTYLE, getWindowLong(Handle, GWL_EXSTYLE) or WS_EX_LAYERED);
SetLayeredWindowAttributes(Handle, clNone, 130, LWA_ALPHA);

Aike 13. Jun 2007 18:21

Re: Ganze Form bzw. Shape durchsichtig gestalten
 
Liste der Anhänge anzeigen (Anzahl: 1)
Ich hab hier mal eine Test-Version erstellt.

Funktionsweise:
- Button1: AlphaBlend:=not AlphaBlend
- Schieberegler: AlphaBlend-Wert:=Trackbar.Position

Bei mir ist es so, dass es kurzzeitig funktioniert, aber wenn man zum Beispiel die Optionen aufrufen will, stürzt das Programm irgendwann ab. *Wiedermal ratlos*

turboPASCAL 13. Jun 2007 19:02

Re: Ganze Form bzw. Shape durchsichtig gestalten
 
Zitat:

Zitat von Aike
Ich hab hier mal eine Test-Version erstellt.
[...]

Tja, leider funtioniert sie in Sachen Alphablend nicht.
Wenn Du den Quelltext mit als Zip anhängst kann man mal gucken.

// Edit:
Welche Delphiversion nutzt Du ?

// Edit:
Zitat:

Tja, leider funtioniert sie in Sachen Alphablend nicht.
Wenn ich die Trackbar nicht benutze... :oops: also ein Fehlalarm.


Alle Zeitangaben in WEZ +1. Es ist jetzt 00:42 Uhr.
Seite 1 von 2  1 2      

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