Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi Panel verliert Transparenz beim Minimize (https://www.delphipraxis.net/114185-panel-verliert-transparenz-beim-minimize.html)

taktaky 21. Mai 2008 00:20


Panel verliert Transparenz beim Minimize
 
Liste der Anhänge anzeigen (Anzahl: 2)
Hallo
mein Panel (Trans-Panel) verliert die Transparenz beim Minimize oder
wenn ein Fenster drauf kommt

Hat jemand Ahnung warum sowas passiert ?
Hier in Anhang ist ein Beispiel. Einfach das Programm starten und dann minimieren und wieder maximieren
Dann wirst Du sehen, daß der Trans-Panel komisch aussehen wird

Oder ein Fenster über das Programm kurz legen und wieder wegnehmen

Die Muhkuh 21. Mai 2008 00:28

Re: Panel verliert Transparenz beim Minimize
 
Es sieht für mich mehr aus, als würde sich das Panel über die Box legen. Schon mal per SendToBack das Panel nach hinten gebracht und evtl. per SendToFront das andere nach vorne?

taktaky 21. Mai 2008 00:53

Re: Panel verliert Transparenz beim Minimize
 
also ich habe den Panel in Front gebracht aber das Problem ist immer das selbe

Wie kann ich mit einem Timer das Problem lösen, indem der Timer den Trans-Panel1 ständig nach vorne bringt ?

Die Muhkuh 21. Mai 2008 01:00

Re: Panel verliert Transparenz beim Minimize
 
In den Timer den Code zum Nachvornebringen des Panels stecken? :roll:

taktaky 21. Mai 2008 01:07

Re: Panel verliert Transparenz beim Minimize
 
google gibt mir nichts über "SendToFront"
In Forum ebenfalls !

Die Muhkuh 21. Mai 2008 01:12

Re: Panel verliert Transparenz beim Minimize
 
Sorry, es heißt BringToFront.

Hätte man aber auch über stöbern in der Codevervollständigung rausfinden können. ;)

taktaky 21. Mai 2008 01:18

Re: Panel verliert Transparenz beim Minimize
 
Schon getestet
es passiert aber nichts
das heißt es liegt nicht an BringToFront
Woran kann es dann liegen :gruebel:

Delphi-Quellcode:
procedure TForm1.Timer1Timer(Sender: TObject);
begin
TrsPanel1.BringToFront;
end;

Die Muhkuh 21. Mai 2008 01:22

Re: Panel verliert Transparenz beim Minimize
 
Du sollst das Panel in den Hintergrund schieben. Warum ist das überhaupt da und bei mir ist es auch nach dem minimieren noch Transparent.

himitsu 21. Mai 2008 01:30

Re: Panel verliert Transparenz beim Minimize
 
Die Frage wäre natürlich "warum verändert sich die Reinfolge (Z-Achse)?"

idealer wäre es ja, dieses Verhalten abzuschaffen, als ständig einen Timer laufen zu lassen.

taktaky 21. Mai 2008 01:37

Re: Panel verliert Transparenz beim Minimize
 
Zitat:

Zitat von Die Muhkuh
Du sollst das Panel in den Hintergrund schieben. Warum ist das überhaupt da und bei mir ist es auch nach dem minimieren noch Transparent.

Aber ich verwende den Trans-Panel als Decke und nicht als Matratze :mrgreen:

Das Problem der Panel verliert sein Effekt

taktaky 21. Mai 2008 11:47

Re: Panel verliert Transparenz beim Minimize
 
Ich habe versucht mit einem Timer, der das Form (das Programm und damit den Tras-Panel) in Front bringt ohne Erfolg :

Delphi-Quellcode:
procedure TForm1.Timer1Timer(Sender: TObject);
begin
SetWindowPos(Handle, HWND_TOPMOST, Left,Top, Width,
             Height, SWP_NOACTIVATE or SWP_NOMOVE or SWP_NOSIZE);
end;
Beim Minimize des Programm verliert wieder der Transparenz-Panel seinen Effekt

Was schlagt Ihr vor :(

Die Muhkuh 21. Mai 2008 11:51

Re: Panel verliert Transparenz beim Minimize
 
Warum brauchst Du das Panel überhaupt davor?

In Deiner Beispielanwendung sehe ich keinen sinnvollen Einsatz dafür. :gruebel:

stahli 21. Mai 2008 12:06

Re: Panel verliert Transparenz beim Minimize
 
Ein Refrehproblem mit den AlphaSkins löse ich bei mir so:

Delphi-Quellcode:
procedure ShowDummy(C: TControl);
var
  PF: TCustomForm;

  procedure SC_(WC: TWinControl);
  var I: Integer;
  begin
    WC.Invalidate;
    for I := 0 to WC.ControlCount - 1 do
    begin
      if WC.Controls[I] is TWinControl then
        SC_(WC.Controls[I] as TWinControl)
      else
        WC.Controls[I].Invalidate;
    end;
  end;

begin
  if not (csDesigning in C.ComponentState) then
  begin
    if C is TForm then
      PF := (C as TForm)
    else
      PF := GetParentForm(C);
    if PF <> nil then
      SC_(PF);
  end;
end;
Vielleicht hilft das ja bei Dir nach dem Wiederherstellen des Formulars?

stahli

ChrisE 21. Mai 2008 12:19

Re: Panel verliert Transparenz beim Minimize
 
Hallo,

ich weiß nicht ob es dir etwas bringt, aber ich kann die Fehler der auf dem Bild vom ersten Beitrag zu sehen ist nicht reproduzieren. Minimieren / Maximieren / Normalgröße - alle wild rundrum gewechselt + anderes Fenster drüber ziehen. Anwendung und alle Komponenten "bleiben da", wo sie auch beim start sind.

Allerdings wird auch nichts in der scrollbaren Komponente (TWebBrowser?) angezeigt.

System XP SP3
IE 7

Gruß, Chris

taktaky 21. Mai 2008 12:22

Re: Panel verliert Transparenz beim Minimize
 
Wo soll ich die Funktion am besten legen?
Onshow oder einfach in Timer?

DeddyH 21. Mai 2008 12:34

Re: Panel verliert Transparenz beim Minimize
 
Wie wäre es mit Ausprobieren?

Die Muhkuh 21. Mai 2008 12:38

Re: Panel verliert Transparenz beim Minimize
 
Zitat:

Zitat von Die Muhkuh
Warum brauchst Du das Panel überhaupt davor?

In Deiner Beispielanwendung sehe ich keinen sinnvollen Einsatz dafür. :gruebel:


lbccaleb 21. Mai 2008 12:44

Re: Panel verliert Transparenz beim Minimize
 
also bei mir (vista) bleibt auch alles so wie es ist, beim verschieben, verkleiner vergrössern... egal wie in welcher reihenfolge, immer das selbe: keine veränderung...

ansonnsten kann ich noch TJVPanel, von den jedis empfehlen, vllt hast du damit mehr glück dein problem (welche doch merkwürdig ist) zu lösen..

stahli 21. Mai 2008 12:57

Re: Panel verliert Transparenz beim Minimize
 
Zitat:

Zitat von taktaky
Wo soll ich die Funktion am besten legen?
Onshow oder einfach in Timer?

evtl: ApplicationEvents.OnRestore

taktaky 21. Mai 2008 13:03

Re: Panel verliert Transparenz beim Minimize
 
Ich habe gerade TJVPanel getestet. Er hat das selbe Problem wie von dem Transparent-Panel (TrsPanels.dpk)

Allerdings das Problem tritt nur ein, wenn unten ein Video (windows Media Player) ist
Andere Objekte: Bilder, Webbrowser, ... sind ok und passiert sowas nicht

Also warum das nur bei WMP :gruebel:

Die Muhkuh 21. Mai 2008 13:06

Re: Panel verliert Transparenz beim Minimize
 
Kannst Du bitte mal meine Frage beantworten, für was Du das brauchst?

Vielleicht findet sich noch eine andere Lösung...

Ich sehe absolut kein Sinn, ein Panel über ein anderen Control zu legen und das Panel dann Transparent zu machen, um das andere Control zu sehen.

:roll:

stahli 21. Mai 2008 13:12

Re: Panel verliert Transparenz beim Minimize
 
Zitat:

Zitat von taktaky
Also warum das nur bei WMP :gruebel:

Genaues weiß ich nicht, aber es gibt ja u.U. auch Probleme bei Bildschirmausdrucken/-kopien, wenn dort ein Video läuft. Ich vermute mal, dass die Bilddaten dann nicht auf dem Parent.Canvas liegen oder so und eine transparente Komponente diese deshalb nicht auf den eigenen Canvas kopieren kann.

stahli

Nuclear-Ping 21. Mai 2008 13:20

Re: Panel verliert Transparenz beim Minimize
 
Zitat:

Zitat von taktaky
Ich habe gerade TJVPanel getestet. Er hat das selbe Problem wie von dem Transparent-Panel (TrsPanels.dpk)

Allerdings das Problem tritt nur ein, wenn unten ein Video (windows Media Player) ist
Andere Objekte: Bilder, Webbrowser, ... sind ok und passiert sowas nicht

Also warum das nur bei WMP :gruebel:

Weil WMP direkt in den Videospeicher schreibt. Deswegen kriegst du mit der DRUCK-Taste auch keinen Screenshot von Videoplayern mit Video drin.

taktaky 21. Mai 2008 13:26

Re: Panel verliert Transparenz beim Minimize
 
Zitat:

Zitat von Nuclear-Ping
Weil WMP direkt in den Videospeicher schreibt.

Das weiß ich ok aber warum vor dem Minimize des Programm alles super läuft :gruebel:

taktaky 21. Mai 2008 13:32

Re: Panel verliert Transparenz beim Minimize
 
Zitat:

Zitat von stahli
evtl: ApplicationEvents.OnRestore

finde ich in OI nicht ! Bei D7

Phoenix 21. Mai 2008 13:36

Re: Panel verliert Transparenz beim Minimize
 
Zitat:

#24|Beitrag #890329 Verfasst am: Heute um 14:26
#25|Beitrag #890334 Verfasst am: Heute um 14:32
Du lernst es nicht. :wall: Pushen ist NICHT erlaubt.
C L O S E D


Alle Zeitangaben in WEZ +1. Es ist jetzt 22:13 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