AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Lightbox-Effekt für Form

Offene Frage von "Satyr"
Ein Thema von Codewalker · begonnen am 28. Sep 2009 · letzter Beitrag vom 6. Dez 2012
Antwort Antwort
Seite 1 von 3  1 23      
Benutzerbild von Codewalker
Codewalker

Registriert seit: 18. Nov 2005
Ort: Ratingen
945 Beiträge
 
Delphi XE2 Professional
 
#1

Lightbox-Effekt für Form

  Alt 28. Sep 2009, 10:42
Ich möchte gerne in einem kleinen Dateimanager für Bilder ein Vorschau anbieten, wie man sie von Webseiten kennt. Dabei soll der Hauptbereich des Formulars (ohne Menüleiste) abgedunkelt werden und zentral das Bild angezeigt werden. Bei Webseiten läuft das afaik unter dem Namen "Lightbox". Wie würdet ihr einen solchen Effekt in Delphi umsetzen?

Meine Versuche bisher:
Ein halbtransparentes PNG in einem TImage: Klappt nicht, weil TImage kein echtes Fenster und hinter anderen Komponenten verschwindet
Das ganze mit TImage32 von Graphics32: Klappt nicht. TImage32 bleibt zwar im Vordergrund, ist aber selbst nicht durchsichtig.
  Mit Zitat antworten Zitat
Grolle

Registriert seit: 5. Nov 2004
Ort: Coesfeld
1.268 Beiträge
 
Delphi 2010 Professional
 
#2

Re: Lightbox-Effekt für Form

  Alt 28. Sep 2009, 12:08
Hi,

wie wäre es mit Alpha Blend? - Auf eine Form und die andere Form dann im Vordergrund anzeigen.

Viele Grüße ...

// Edit - kann man in einer Schleife auch sehr schön stufenweise machen

  Mit Zitat antworten Zitat
Brainshock

Registriert seit: 26. Nov 2004
Ort: 37345
214 Beiträge
 
Delphi 7 Professional
 
#3

Re: Lightbox-Effekt für Form

  Alt 28. Sep 2009, 14:13
Hi,

ich hab das mal für modale Fenster gemacht, d.h. wenn ein modales Fenster geöffnet wird, legt sich ein halbtransparentes graues Formular zwischen Hauptfenster und modales Fenster.

Den Quellcode (Demoexe) hab ich mal in den Anhang gepackt, vielleicht hilft dir das weiter.

Gruß,
Matthias
Angehängte Dateien
Dateityp: exe dimapp_108.exe (156,0 KB, 89x aufgerufen)
Dateityp: zip dimapp_364.zip (5,3 KB, 35x aufgerufen)
Matthias
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe
Online

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.009 Beiträge
 
Delphi 12 Athens
 
#4

Re: Lightbox-Effekt für Form

  Alt 28. Sep 2009, 17:16
Ich habe dafür mal folgende Funktion geschrieben:

Delphi-Quellcode:
function ShowModalDimmed(Form: TForm; Centered: Boolean = true): TModalResult;
var
  Back: TForm;
begin
  Back := TForm.Create(nil);
  try
    Back.Position := poDesigned;
    Back.BorderStyle := bsNone;
    Back.AlphaBlend := true;
    Back.AlphaBlendValue := 192;
    Back.Color := clBlack;
    Back.SetBounds(0, 0, Screen.Width, Screen.Height);
    Back.Show;
    if Centered then begin
      Form.Left := (Back.ClientWidth - Form.Width) div 2;
      Form.Top := (Back.ClientHeight - Form.Height) div 2;
    end;
    result := Form.ShowModal;
  finally
    Back.Free;
  end;
end;
Uwe Raabe
  Mit Zitat antworten Zitat
chris

Registriert seit: 24. Mai 2003
Ort: Düsseldorf
196 Beiträge
 
Delphi 2009 Professional
 
#5

Re: Lightbox-Effekt für Form

  Alt 19. Okt 2009, 12:54
Huhu,

genau sowas brauchte ich mal für die aufrufende Form, nicht den ganzen Desktop.

Vielleicht kann es jemand gebrauchen:

Delphi-Quellcode:
function ShowModalDimmed(Form, ParentForm: TForm): TModalResult;
var
  Back: TForm;
  i: Byte;
begin
  Back := TForm.Create(nil);
  try
    Back.Position := ParentForm.Position;
    Back.BorderStyle := ParentForm.BorderStyle;
    Back.BorderIcons := [];
    Back.AlphaBlend := true;
    Back.AlphaBlendValue := 0;
    Back.Color := clBlack;
    with ParentForm do Back.SetBounds(Left, Top, Width, Height);
    Back.Show;
    for i := 1 to 185 do
    begin
      Back.AlphaBlendValue := i;
      Sleep(2)
    end;
    Form.Left := ParentForm.left + ((ParentForm.Width - Form.Width) div 2);
    Form.Top := ParentForm.Top + ((ParentForm.Height - Form.height) div 2);
    Result := Form.ShowModal
  finally
    Back.Free;
    ParentForm.BringToFront
  end
end;
Chris
D2009.4 | Vista SP2 x32
  Mit Zitat antworten Zitat
xOli30

Registriert seit: 15. Dez 2010
5 Beiträge
 
#6

AW: Lightbox-Effekt für Form

  Alt 25. Aug 2011, 08:06
Hallo

Ich möchte dieses veraltete Thema noch mal eben aufgreifen, da ich das hier beschriebene gerade benötige. Kann mir evt jemand sagen wie und mit welchen Argumenten die Funktion aufgerufen werden muß? Ich will die "LightBox" Effect als Loading Anzeige nutzen. Wenn also geladen wird, soll sich der "Fenster-Bereich" dimmen und zentral ein Loading-Image angezeigt werden.

Vielen Dank
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.541 Beiträge
 
Delphi 11 Alexandria
 
#7

AW: Lightbox-Effekt für Form

  Alt 25. Aug 2011, 08:16
Welche Version denn? Bei der von Uwe gibst Du lediglich das Formular an, das Du anzeigen möchtest, bei der von cris zusätzlich noch das abzudunkelnde dahinterliegende Formular.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
xOli30

Registriert seit: 15. Dez 2010
5 Beiträge
 
#8

AW: Lightbox-Effekt für Form

  Alt 25. Aug 2011, 08:18
Hallo

Was meinst du mit Version?
Das heisst also wenn ich im aktuellen Fenster einen Loading-Bereich simulieren will geb ich einfach als Übergabe Form1 (z.B.) ?

lg
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.541 Beiträge
 
Delphi 11 Alexandria
 
#9

AW: Lightbox-Effekt für Form

  Alt 25. Aug 2011, 08:23
Ich meinte, welche Funktion Du denn verwendest, es wurden ja verschiedene gepostet.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
xOli30

Registriert seit: 15. Dez 2010
5 Beiträge
 
#10

AW: Lightbox-Effekt für Form

  Alt 25. Aug 2011, 08:27
ah ok. Ich bin an der von Chris da ich den Dimmbereich nur im aktuellen Fenster haben will und nicht über den ganzen Desktop.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 3  1 23      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:32 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