AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Delphi NUR das Formular transparent machen
Thema durchsuchen
Ansicht
Themen-Optionen

NUR das Formular transparent machen

Offene Frage von "jaschu"
Ein Thema von jaschu · begonnen am 29. Mai 2005 · letzter Beitrag vom 4. Jul 2005
Antwort Antwort
Seite 2 von 2     12   
Benutzerbild von MacNuke
MacNuke

Registriert seit: 19. Mai 2004
Ort: Rostock
42 Beiträge
 
#11

Re: NUR das Formular transparent machen

  Alt 30. Mai 2005, 15:51
Hi.

Du musst aber beachten, das die Transparenz-Möglichkeiten von Windows denen von OS X doch sehr hinterherhinken...

Es ist zwar möglich, aber es ist weder Ressourcen-Schonend, noch klappt das immer. Wenn du das z.B. über ein Video einblendest hast du, soweit ich weiß, schon ein Problem.

@alzaimar

Und was passiert nach deiner Methode, wenn das Fenster über einem anderen Fenster liegt, welches sich verändert? Bleibt doch "hängen", oder?
No RISC, no Fun.

Dual PowerMac G4 1,25Ghz, 1,25 GB DDR-RAM, Radeon9800Pro, OSX.4.X
  Mit Zitat antworten Zitat
alzaimar
(Moderator)

Registriert seit: 6. Mai 2005
Ort: Berlin
4.956 Beiträge
 
Delphi 2007 Enterprise
 
#12

Re: NUR das Formular transparent machen

  Alt 30. Mai 2005, 16:02
@Macnuke: 'Hängen' bleibt es nicht, aber solange Du nichts unternimmst, wenn sich der Hintergrund ändert, sieht das natürlich nicht gut aus. Ich hatte das eigentlich nur mal gemacht, um die Ränder eines Bitmap-Formulars nicht so ecking und fransig aussehen zu lassen: Die äußeren 3-5 Pixel wurden dann mit einem Übergang versehen: Das sah gut aus. Da waren höchstens mal ein paar Pixel nicht ganz richtig. Beim ersten Klick auf das Form zeichnet es sich ja neu und dann gehts. Bei Videos geht's natürlich gar nicht mehr Selbst ein Timer bringt da nicht viel.

Ach, und resourcenschonend ist das schon gar nicht. Eher das Gegenteil...
"Wenn ist das Nunstruck git und Slotermeyer? Ja! Beiherhund das Oder die Flipperwaldt gersput!"
(Monty Python "Joke Warefare")
  Mit Zitat antworten Zitat
jaschu

Registriert seit: 21. Mär 2005
38 Beiträge
 
#13

Re: NUR das Formular transparent machen

  Alt 30. Mai 2005, 16:05
Hm

Ich meine, ich hatte mal ein Formular komplett durchsichtig gemacht. So dass man NUR NOCH die Buttons sah.
(Glaube ich, geht das, kann mir das wer bestätigen?)

Da könnte man doch jetzt ein transparentes Hintergrundbild nehmen, oder?
  Mit Zitat antworten Zitat
alzaimar
(Moderator)

Registriert seit: 6. Mai 2005
Ort: Berlin
4.956 Beiträge
 
Delphi 2007 Enterprise
 
#14

Re: NUR das Formular transparent machen

  Alt 30. Mai 2005, 16:09
Ich habe die Idee (aber nicht lachen):
Du hast in Wirklichkeit 2 Formulare.
Form1 zeigt den Hintergrund und ist durchsichtig.
Form2 hat genau die Form der Steuerelemente und 'schwebt' über Form1. Form2 ist NICHT durchsichtig.

Du musst jetzt noch eine Routine schreiben, die anhand aus Form und Lage der Steuerelemente eine Bitmapmaske erstellt. Daraus kann man mit einfachen Mitteln eine 'Region' basteln. Die weisst Du der Form2 zu und pronto. Das klappt in jedem Fall.

Der Effekt ist der Gleiche wie bei Apple.
"Wenn ist das Nunstruck git und Slotermeyer? Ja! Beiherhund das Oder die Flipperwaldt gersput!"
(Monty Python "Joke Warefare")
  Mit Zitat antworten Zitat
jaschu

Registriert seit: 21. Mär 2005
38 Beiträge
 
#15

Re: NUR das Formular transparent machen

  Alt 30. Mai 2005, 16:45
Hmm, ich weiß jetzt net genau was du meinst mit der Routine...

Würde doch an und für sich wirklich reichen, die Steuerelemente mit Shapes quasi aus der 2. Form "Auszuschneiden", oder nicht?
  Mit Zitat antworten Zitat
Thebe

Registriert seit: 26. Jul 2004
Ort: Wedel
78 Beiträge
 
Delphi 6 Enterprise
 
#16

Re: NUR das Formular transparent machen

  Alt 30. Mai 2005, 18:52
MSDN-Library durchsuchenLayered Windows, MSDN-Library durchsuchenAlphaBlend und MSDN-Library durchsuchenUpdateLayeredWindow sind deine Freunde. Da kannste 32bit Bitmaps (sprich mit Alphakanal) benutzen für deine Form.

Nachteil:

Du musst Dich um ALLES (Buttons, Neuzeichnen der Form etc.) selber kümmern.
  Mit Zitat antworten Zitat
tinibeenie

Registriert seit: 5. Feb 2005
Ort: Barsbüttel
34 Beiträge
 
Delphi XE6 Professional
 
#17

Re: NUR das Formular transparent machen

  Alt 4. Jul 2005, 11:48
Hi jaschu!

Hab gerade eine JVCL-Komponente entdeckt, die das ganze bzw. Teile des Forms unsichtbar macht. Es ist JvTransparentForm. Du könntest dann ein halb-transparentes Bild erstellen und darauf packen. Das geht ganz einfach, hab ich auch grad so gemacht. Man kann sonst auch Masken für die Komponente benutzen. Am Schluss, wenn alles ausgeblendet werden soll, kannst du ganz normal AlphaBlend benutzen, denn damit verschwindet ja alles.

PS: Ich weiß, es ist ein bisschen spät, aber wielleicht kannst du es doch noch gebrauchen...
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


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 23:18 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