slt
j'aimerai biens savoir comment utiliser une photo comme bouton avec ses propriétés
Version imprimable
slt
j'aimerai biens savoir comment utiliser une photo comme bouton avec ses propriétés
Bonsoir,
As tu essayé les composants comme BitBtn, SpeedButton, rxSpeedButton (issu de la rxLib) ?
@ + ;)
oui mais je n'ai rien trouvé
Sur les TSpeedButton et les TBitBtn (Onglet Supplément de Builder), tu as la propriété Glyph qui permet de mettre une image dans un bouton.
Sinon, tu peux toujours utiliser un TImage comme un bouton.
vu la qualité d'image le Timage est préferable parceque il accepte la format jpg que les autres (Bitbtn, Speedbutton..) ne supportent pas, le probleme c'est que lorsque je clique sur le Timage ça se voit pas que j'ai clické j'aimerais bien savoir s'il existe un truc qui à la fois supporte JPG et se comporte comme un boutton
merci d'avance
Peut etre en trancant et en effacent un rectangle autour de ton image
Une idée :
@ + ;)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 void __fastcall TForm1::Image1MouseDown(TObject *Sender, TMouseButton Button, TShiftState Shift, int X, int Y) { TRect rect = Image1->Canvas->ClipRect; tagRECT *aRect = new tagRECT; aRect->top = rect.top; aRect->left = rect.left; aRect->right = rect.right; aRect->bottom = rect.bottom; DrawEdge(Image1->Canvas->Handle, aRect, BDR_SUNKENINNER, BF_RECT); Repaint(); } //--------------------------------------------------------------------------- void __fastcall TForm1::Image1MouseUp(TObject *Sender, TMouseButton Button, TShiftState Shift, int X, int Y) { TRect rect = Image1->Canvas->ClipRect; tagRECT *aRect = new tagRECT; aRect->top = rect.top; aRect->left = rect.left; aRect->right = rect.right; aRect->bottom = rect.bottom; DrawEdge(Image1->Canvas->Handle, aRect, BDR_RAISEDOUTER, BF_RECT); Repaint(); } //---------------------------------------------------------------------------
(mais c'est surement ce que suggérait aussi Blondelle d'ailleurs...)
oui tout a fait Cantrelle
merci beaucoup catrelle je vai tester ça maintenant je vous tiendrais au courant
désolé il n'y rien qui se passe ni avec la premiere ni avec la deuxieme méthode 8O
quand je place mon image sur la form, sur l'evenement OnMouseDown il y a que les traits de gauche et de haut qui s'affichent le droit est le bas non, sur l'evenement OnMouseUp ça se passe rien les deux traits restent affichés,
et quand je place l'image sur un TabControl rien ne se passe ni avec la premiere ni la deuxieme méthode
aussi une autre chose, quand je travaille avec une image JPG un message d'erreur s'afiche "impossible de dessiner sur JPG"
Ah oui effectivement...:?
Bon...ben..sinon...ya le rxGIFAnimator !
C'est bon les images en .GIF, non ? :aie:
Bon j'arrete mes betises mais, la dans l'immédiat, je sais pas quoi dire.
J'ai teste ton programme Cantrelle et ca marche le fait qu'il n'y est que deux cotes qui changent a chaque fois c'est le style de la bordure qui simule une ombre a droite ou a gauche en changeant le style de bordure peut etre que cela fera l'affaire
est ce que quelque chose comme ca t'irait
code
tu peut changer l'epaisseur du trait sa couleurCode:
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 void __fastcall TForm1::Button1Click(TObject *Sender) { TRect rect = Image1->Canvas->ClipRect; tagRECT *aRect = new tagRECT; aRect->top = rect.top; aRect->left = rect.left; aRect->right = rect.right; aRect->bottom = rect.bottom; Image1->Canvas->Pen->Color = clWhite; Image1->Canvas->Rectangle(rect); //DrawEdge(Image1->Canvas->Handle, aRect, BF_RECT , BF_RECT); Repaint(); } //--------------------------------------------------------------------------- void __fastcall TForm1::Button2Click(TObject *Sender) { TRect rect = Image1->Canvas->ClipRect; tagRECT *aRect = new tagRECT; aRect->top = rect.top; aRect->left = rect.left; aRect->right = rect.right; aRect->bottom = rect.bottom; Image1->Canvas->Pen->Color = clBlack; Image1->Canvas->Rectangle(rect); //DrawEdge(Image1->Canvas->Handle, aRect, BDR_RAISEDOUTER, BF_RECT); Repaint(); }
ça marche mais quand je click la photo disparait je pense qu'il faut un rectangle transparent
voici une image jpg jointe juste pour avoir une idée de ce que j'ai envi de faire c'est un logiciel de gestion de cybercafé chaque poste est représenté par une image un click pour voir les infos rapidement (avec un ombre pour faire la différence) et double click pour afficher une fenetre fille, avec un PopupMenu, si vous avez une idée je suis preneur :roll:
Un rectangle transparent je ne sais pas si cele existe sinon redessiner l'image dans le rectangle
Salut !
Avec un TPanel et en jouant sur la propriété BevelOuter lors des événements sur l'image.
Il faut pour celà que le TImage soit bien placé sur le panel.
A plus !
merci bco c'est exactement ce que je cherche maintenant il faut juste jouer avec ce qu'il y a à l'interieur :mouarf:
j'ai développé pendant mon stage un composant qui s'appelle le TImageButton et qui permet de gérer 4 états (Enabled, Down, OnMouseOver, Disabled). Avec 1 image par état, il pourrait t'aider je pense, préviens moi par MP si il t'intéresse.