Probleme de skin

thone08 Messages postés 58 Date d'inscription dimanche 19 janvier 2003 Statut Membre Dernière intervention 9 mars 2005 - 23 janv. 2005 à 23:35
thone08 Messages postés 58 Date d'inscription dimanche 19 janvier 2003 Statut Membre Dernière intervention 9 mars 2005 - 24 janv. 2005 à 13:36
Bonjour voila j'aimerai realiser un programme ki kand on passe sur le coter gauche sa ouvre un panneau . Pour cela j'ai tester la fonction suivant mais le probleme c'est qua chake fois tt les bouton ,.. sur ma form passe en dessou il faut repasser sur par exemple le speedbutton pour qu'il s'affiche et se cache de nouveau apres .

procedure TForm1.FormMouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
begin
if x<35 then
begin
panel1.Top:=135;
panel1.Visible:=true;
panel1.Left:=1;
form3.show;
bmp.LoadFromFile(extractfilepath(application.exename)+'fond1.bmp');


form1.Canvas.Draw(0,0,bmp);
//showmessage('ok');
end else
begin
panel1.Visible:=false;
form3.hide;
bmp.LoadFromFile(extractfilepath(application.exename)+'fond.bmp');
form1.Canvas.Draw(0,0,bmp);
end;
end;

merci

4 réponses

ni69 Messages postés 1418 Date d'inscription samedi 12 juin 2004 Statut Membre Dernière intervention 5 juillet 2010 12
24 janv. 2005 à 00:06
Le problème ne se posera plus si tu mets ce code :
bmp.LoadFromFile(extractfilepath(application.exename)+'fond.bmp');
form1.Canvas.Draw(0,0,bmp);
non pas dans l'événement OnMouseMove comme tu l'as fait, mais dans l'événement OnPaint comme ceci :
procedure TForm1.FormPaint(Sender: TObject);
begin
form1.Canvas.Draw(0,0,bmp);
end;
(tu remarqueras que bmp.LoadFromFile(extractfilepath(application.exename)+'fond.bmp'); n'est pas présent dans cette procedure : je trouve préférable de charger simplement le bmp une fois au début de l'appli, parce que le recharger à chaque fois, ça te fait perdre du temps...)


@+
Bonne Prog'
Nico



<HR>
N'oubliez pas de cliquer sur Réponse acceptée lorsque la réponse vous convient !
0
thone08 Messages postés 58 Date d'inscription dimanche 19 janvier 2003 Statut Membre Dernière intervention 9 mars 2005
24 janv. 2005 à 07:11
heu j'ai du mla m'expliker . Pour le on paint j'avais effectivement deja effectuer cette tecnik mais ce ke je veux c'est que lorsque l'ont passe sur el coter gauche d ela fiche( c la qu'intervient le onmousemove ,...) et bien l'image de fond change et devien la meme sans la partie qui est senser s'ouvrir( le fond.bmp ) puis si on kitte la partie geuche de la form il recharge l'image de fond d'origine (fond1.bmp) mais avec al tecnik draw a chake draw sa ecri par dessus.

J'ai essayer avec
form1.brush.bitmap:=bmp; cependant l'image est bien charger mais elle ne change plus :(

Merci d'avance
0
JulioDelphi Messages postés 2226 Date d'inscription dimanche 5 octobre 2003 Statut Membre Dernière intervention 18 novembre 2010 14
24 janv. 2005 à 12:47
as tu regarde mon lien ? c'est un composant de Spatul qui gere un panel ki se retracte ! il est genial =) esssaie le !
0
thone08 Messages postés 58 Date d'inscription dimanche 19 janvier 2003 Statut Membre Dernière intervention 9 mars 2005
24 janv. 2005 à 13:36
Oui j'ai effectivement esssayer se matin mais il ma di kil manke un composant (je pense kil fo declarer celui joint ;) mais j'ai aps eu le tps de le faire j'essayerai surement ce soir) sinon pour mon probleme j'ai trouver uen maniere encore plsu simple je met une timage par dessu al forme que je fais disparaitre ou apparaitre ,.. Meric encore pour vos reponse et poru el composant sa a l'air pas mal ;)
0
Rejoignez-nous