Einzelnen Beitrag anzeigen

alzaimar
(Moderator)

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

Re: NUR das Formular transparent machen

  Alt 30. Mai 2005, 14:14
Knifflig, aber möglich (hab ich mal so gemacht). Simuliere das Alphablend:
Am einfachsten ist es, wenn Du genau weisst, wie deine Form aussieht (z.B. eine Bitmap).
Dann machst Du folgendes:
Du brauchst eine Bitmap als Form-Hintergrund.

1. Form kurz unsichtbar machen.
2. Desktp-Bitmap holen
3. Den Original-Hintergrund deiner Form mit dem Teil des Bildschirmes, den deine Form überdeckt, vermischen. Das ist dein simulierter Alpha-Blend.
4. Form.BackgroundImage := Die unter 3 berechnete Bitmap.
5. Form wieder sichtbar machen

Tipp: Bei (3) machst Du dir noch die Mühe und verwischst den Übergang von Form.Background zum Desktop ein wenig. Das sieht dann erst richtig geil aus.

Das rufst Du bei jedem Form.OnPaint auf. Es dauert nur ca. 1/20 sek und ist kaum zu sehen. Eine andere Idee hätte ich jetzt nicht.
"Wenn ist das Nunstruck git und Slotermeyer? Ja! Beiherhund das Oder die Flipperwaldt gersput!"
(Monty Python "Joke Warefare")
  Mit Zitat antworten Zitat