Autor Beitrag
GuaAck
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 378
Erhaltene Danke: 32

Windows 8.1
Delphi 10.4 Comm. Edition
BeitragVerfasst: Do 07.07.11 22:59 
Hallo Experten,

in habe in einem meiner Standard-Programme eine Form mit einer Paintbox, in deren Canvas ich zeichne.

Jetzt eine neue Anwendung: Ich möchte das, was aktuell auf dem Bildschirm ist, mit einem Pinsel nachfahren. Die Paintbox müsste also transparent sein.

Aktuelle Lösung: Ich setze für das Form "Alphablend=true" und den "Alphablendvalue" so, dass es halb transparent ist. Brauchbar.

Nachteil: Auch der Window-Rahmen mit den üblichen drei Knöpfen oben rechts (Minimieren, Verkleinern, Schließen) sind dann halbtransparent und oft nicht erkennbar.

Besser ware, wenn nur die Paintbox transparent wäre.

Es muss nicht unbedingt eine Paintbox sein, ich brauche ja nur die Canvas.

Ach ja, Delphi 7 und Windows XP, aber wenn es für neuere Delphi-Versionen eine Lösung gäbe, dann wäre das ein Anlass für einen Umstieg.

Danke für Eure Tipps
GuaAck
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19338
Erhaltene Danke: 1752

W11 x64 (Chrome, Edge)
Delphi 12 Pro, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Fr 08.07.11 10:56 
Das müsste mit UpdateLayeredWindow gehen. Damit kannst du pixelweise den Alphablendwert festlegen. Das schaue ich mir für ein eigenes Projekt auch gerade an. Hier findest du einiges dazu:
melander.dk/articles/alphasplash/
Wie das mit der Titelleiste aussieht, kann ich dir gerade nicht sagen.