Entwickler-Ecke

Grafische Benutzeroberflächen (VCL & FireMonkey) - Panel weich ausblenden


Timelesk - Fr 14.12.07 18:05
Titel: Panel weich ausblenden
Hallo,

ist es mögliche ein Panel oder Image weich auszublenden?
Also dass die Transparenz des Objektes steigt, bis es verschwindet?

Ich möchte eine Meldung in der Mitte des Formulars anzeigen lassen und diese soll dann auch relativ schnell wieder verschwinden. So als schönen Effekt hatte ich mir das mit dem Ausblenden ausgedacht.

Könnt ihr mir da irgendwie weiterhelfen?
Vielleicht kann man das auch ganz anders gestalten oder es gibt dafür fertige Kompos...
Hab leider nichts gefunden.


Vielen Dank.


Yogu - So 16.12.07 13:11

Willst du die Transparenz relativ zum Rest des Bildschirms machen, also dass zum Beispiel dein Desktop-Hintergrund mit den Symbolen immer mehr sicht bar wird? Dann Würde ich erst den Hintergrund einscannen, dann die Meldung anzeigen, und schließlich beim Schließen für alle Pixel folgende Prozedur anwenden:

Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
function Transparency(Color: TColor; BackColor: TColor; Transparency: Byte): TColor;
var R1, G1, B1, R2, G2, B2: Byte;
begin
  R1 := Color and $000000FF;
  G1 := (Color and $0000FF00div $100;    
  B1 := (Color and $00FF0000div $10000;
  R2 := BackColor and $000000FF;
  G2 := (BackColor and $0000FF00div $100;    
  B2 := (BackColor and $00FF0000div $10000;
  R1 := Round(R1-(R1-R2)*Transparency/255);
  G1 := Round(G1-(G1-G2)*Transparency/255);
  B1 := Round(B1-(B1-B2)*Transparency/255);
  Result := R1+G1*$100+B1*$10000;
end;


Zum Testen kannst du das Programm im Anhang benutzen.


Blawen - So 16.12.07 13:24

Schau mal bei den Jedi-Komponenten, da sollte das passende dabei sein.


Timelesk - So 16.12.07 13:36

Hallo,

@Yogu:
Ich möchte nicht die Hintergrundfarbe anpassen, sondern das Panel ausblenden.
Unter dem Panel sind Buttons, Labels etc. und diese sollen sichtbar werden.
Aber vielen Dank für deine Hilfe.

@Blawen: Meinst du das JvPanel? Ja, das hat Transparenz, aber irgendwie scheint die nicht wirklich als Transparenz zu fungieren. Das Panel wird bei mir einfach weiß (auf ner weißen Scrollbox), lässt aber nicht die Buttons durchscheinen.


Ich hab mich jetzt ein wenig verlagert: Das Panel gibt nur Anweisung, welcher Schritt als nächstes drann ist und ich lass das Panel mit der Aufschrift einfach zu der Step-Zeile hinbewegen und verkleinere es dabei.

Aber wenn jemand eine Lösung für das Problem hat: Immer her damit :-)


Vielen Dank


Blawen - So 16.12.07 13:53

user profile iconTimelesk hat folgendes geschrieben:
@Blawen: Meinst du das JvPanel? Ja, das hat Transparenz, aber irgendwie scheint die nicht wirklich als Transparenz zu fungieren. Das Panel wird bei mir einfach weiß (auf ner weißen Scrollbox), lässt aber nicht die Buttons durchscheinen.
Ich denke eher an die Gradients und ähnliches.