Form Transparente

Résolu
padsou
Messages postés
121
Date d'inscription
jeudi 24 janvier 2002
Statut
Membre
Dernière intervention
13 avril 2010
- 16 sept. 2005 à 17:42
padsou
Messages postés
121
Date d'inscription
jeudi 24 janvier 2002
Statut
Membre
Dernière intervention
13 avril 2010
- 19 sept. 2005 à 12:29
Bonjour !

Je souhaite convertir ce code à la fermeture de la fenetre (apparence de disparition progressive de la fiche) en disparition d'apparition progressive de la fiche au lancement de l'application.

J'avais fais ceci mais ça ne marche pas :

var
i, cavb : integer;
begin
AlphaBlend := True;
for i := 0 to 255 do
begin
AlphaBlendValue := i;
Application.ProcessMessages;
end
end;


Voici le code original :

procedure TF_Principale.FormClose(Sender: TObject;
var Action: TCloseAction);
var
i, cavb : 0..255;
begin
if AlphaBlend=False then
begin
AlphaBlendValue:=255;
AlphaBlend:=True;
end;
cavb:=AlphaBlendValue;


for i := cavb downto 0 do
begin
AlphaBlendValue := i;
Application.ProcessMessages;
end
end;

9 réponses

florenth
Messages postés
1023
Date d'inscription
dimanche 1 août 2004
Statut
Membre
Dernière intervention
17 août 2008
2
17 sept. 2005 à 19:34
Tu peux utiliser la procédure AnimateWindow pour effectuer un fondu avec ta fenetre.



<hr size= "2" width="100%"> procedure TForm1.FormShow(Sender: TObject);

begin

AnimateWindow(Handle,200,AW_BLEND); // Affichage de la fenetre avec fondu (durée: 200ms)

end;



procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);

begin

AnimateWindow(Handle,200,AW_HIDE or AW_BLEND);

end;

<hr size ="2" width="100%">@ ++

Florent


Si tu ne te plantes pas ......
tu ne poussera jamais
3
ni69
Messages postés
1418
Date d'inscription
samedi 12 juin 2004
Statut
Membre
Dernière intervention
5 juillet 2010
13
19 sept. 2005 à 11:47
Il faudrait peut-être rajouter Update; avant le code de florenth...

@+

Nico { http://perso.wanadoo.fr/ni69/ }




<hr size="2" width="100%">

N'oubliez pas de cliquer sur Réponse Acceptée lorsque la réponse vous convient !
3
ni69
Messages postés
1418
Date d'inscription
samedi 12 juin 2004
Statut
Membre
Dernière intervention
5 juillet 2010
13
16 sept. 2005 à 18:46
Dans quelle procédure as-tu mis le code du haut ?

@+

Nico { http://perso.wanadoo.fr/ni69/ }




<hr size="2" width="100%">

N'oubliez pas de cliquer sur Réponse Acceptée lorsque la réponse vous convient !
0
Yil2201
Messages postés
134
Date d'inscription
mercredi 1 décembre 2004
Statut
Membre
Dernière intervention
10 août 2008

17 sept. 2005 à 14:20
Salut si tu veux fermer avec un bouton voici la marche a suivre ( ne fonctionne pas uand on clique sur la croix ):

Rajoutes un Timer sur ta fiche et dans ses proprio change True en False de Enabled



Dans l'evenement OnCLick du bouton Tape ceci :



Form1.AlphaBlend:=True;

Timer1.Enabled:=True;



Dans l'évenement onTimer du timer ceci :



Form1.AlphaBlendValue:=Form1.AlphaBlendValue - 10 ;

if Form1.AlphaBlendValue = 5 then Application.Terminate;



dis moi si c'est bien ce qui te faut



[url]www.yiliman2201.be.tf/url
Mon site !
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
ni69
Messages postés
1418
Date d'inscription
samedi 12 juin 2004
Statut
Membre
Dernière intervention
5 juillet 2010
13
17 sept. 2005 à 18:00
Yil2201 : Je crois que padsou cherchait un code pour faire une apparition progressive, pas une disparition progressive, ce qu'il a déjà réalisé...

padsou : je réitère ma question...

@+

Nico { http://perso.wanadoo.fr/ni69/ }




<hr size="2" width="100%">

N'oubliez pas de cliquer sur Réponse Acceptée lorsque la réponse vous convient !
0
ni69
Messages postés
1418
Date d'inscription
samedi 12 juin 2004
Statut
Membre
Dernière intervention
5 juillet 2010
13
17 sept. 2005 à 21:50
Tiens, je ne connaissais pas cette procédure
Grâce à toi, j'aurais appris quelque-chose aujourd'hui


@+

Nico { http://perso.wanadoo.fr/ni69/ }




<hr size="2" width="100%">

N'oubliez pas de cliquer sur Réponse Acceptée lorsque la réponse vous convient !
0
padsou
Messages postés
121
Date d'inscription
jeudi 24 janvier 2002
Statut
Membre
Dernière intervention
13 avril 2010

19 sept. 2005 à 09:00
pardon pour cette réponse tardive, j'étais en week end...

Je l'ai mis sur le OnCreate de ma form. Ton code ne marche pas florenth, il y a un temps de latence (correspondant certainement au délai) avant l'apparition subite et non progressive de ma form.

Merci !
0
padsou
Messages postés
121
Date d'inscription
jeudi 24 janvier 2002
Statut
Membre
Dernière intervention
13 avril 2010

19 sept. 2005 à 12:22
ça ne marche pas également. de plus, mes composants ont leur propriété "border" égale à 0 en rajoutant Update ou Application.ProcessMessages;
0
padsou
Messages postés
121
Date d'inscription
jeudi 24 janvier 2002
Statut
Membre
Dernière intervention
13 avril 2010

19 sept. 2005 à 12:29
oups, non non je retire ce que j'ai dis ça marche mais c'est à placer sur le OnCreate et non pas sur le Show de la fiche comme l'indiquait florenth.

Merci !
0