Transparence d'un composant
Bonjour.
Dans le cadre du développement d'un moteur graphique, je suis amené à trouver une solution pour avoir un composant transparent recouvrant ma fenètre graphique. Ce composant me permettra de dessiner des curseurs spéciaux sans altérer le contenu de la fenètre openGL.
Ainsi, je me suis intéressé à la propriété de transparence des TForm. Mais en procédant comme suit, la transparence ne semble pas fonctionner, pourquoi?
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39
| unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs;
type
TForm1 = class(TForm)
procedure FormCreate(Sender: TObject);
private
{ Déclarations privées }
public
{ Déclarations publiques }
OverLayer : TForm;
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.FormCreate(Sender: TObject);
begin
OverLayer := TForm.CreateNew(nil);
OverLayer.Parent := Self;
OverLayer.BorderStyle := bsNone;
OverLayer.Color := clWhite;
OverLayer.Show;
OverLayer.TransparentColor := TRUE;
OverLayer.TransparentColorValue := clWhite;
OverLayer.AlphaBlend := TRUE;
OverLayer.AlphaBlendValue := 0;
end;
end. |
Merci d'avance pour votre contribution.
Cordialement,
Benjamin