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?
Merci d'avance pour votre contribution.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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.
Cordialement,
Benjamin
Partager