Transparente Form?

Hallo Delphianer,

ich suche eine Möglichkeit eine altrnaitve Form zu erschaffen, die teilweise transparent ist.

Ist das überhaupt möglich?

Gruss Thomas

P.S: Ich weiss, dass ich dadruch stark mit der API zu tun haben werde.

Hi Thomas,
JA, es ist möglich, zumindest in win2k, dort ist es in der API
check microsoft.com.

ansonsten musst du es ‚per hand‘ machen.

Du kannst dir einen screenshot ohne fenster in eine bitmap ziehen.
form.visible := False
make screenshot
form.visible := true

dauert nur ca. 1/10 sekunde !

Da du die koordinaten und dimensionen deines ‚semitransparenten‘ Fensters kennst, kannst du dir den Inhalt des Fensters aus der
bitmap herausrechnen.
Wenn du das Fenster bewegst, machst du bei OnMouseDown o.g. screenshot. Dann ‚blinkt‘ dein Fenster halt ganz kurz, wenn
die Maustaste gedrückt wird (also beim draggen).

Und wenn du jetzt noch über einen timer alle 500ms den bildschirm prüfst, ob sich ‚hinter‘ deinem Fenster was verändert hat, ist die illusion perfekt.
hab ich mal gemacht, war geil. leider habe ich depp den code
weggeschmissen.

viel spass (ist ein bisserl kniffelig)

mark

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Hallo Mark,

deine Vorschläge waren nicht schlecht, aber ich bevorzuge lieber die einfache Art, die ich gefunden habe, und zwar:

procedure TForm1.FormCreate(sender: TObject);
begin
Form1.Brush.Style:=bsClear;
Form1.BorderStyle:=bsNone;
end

(vergesst nicht einen Knopf, der das Progeramm beendet)

Trotzdem danke für deine Vorschläge.

Gruss Thomas

Jep, ich dache eher an den in W2K implementierten Alpha-Kanal, wo Du noch angeben kannst, wie transparent die Form denn sein soll.

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]