Est-il possible d'afficher une image jpg dans un panel?
Ne me dites pas d'utiliser TImage parce que mon but est d'alterner videos et photos selon les besoins dans un cadre prédéfini de mon programme (un jeu d'aventure)... Merci de m'aider!
Est-il possible d'afficher une image jpg dans un panel?
Ne me dites pas d'utiliser TImage parce que mon but est d'alterner videos et photos selon les besoins dans un cadre prédéfini de mon programme (un jeu d'aventure)... Merci de m'aider!
Il faut créer un composant dérivé d'un TPanel et surcharger le methode Paint.
L'urgent est fait, l'impossible est en cours, pour les miracles prévoir un délai. ___ Écrivez dans un français correct !!
C++Builder 5 - Delphi 6#2 Entreprise - Delphi 2007 Entreprise - Delphi 2010 Architecte - Delphi XE Entreprise - Delphi XE7 Entreprise - Delphi 10 Entreprise - Delphi 10.3.2 Entreprise - Delphi 10.4.2 Entreprise - Delphi 11.1 Entreprise
OpenGL 2.1 - Oracle 10g - Paradox - Interbase (XE) - PostgreSQL (15.4)
Bon, je suis un peu nul, mais comment faites vous pour créer un composant TImage "dérivé" d'un TPanel?
Le mot me fait peur, j'espère que ça n'a pas de rapport avec la notion d'héritage car la programmation objet, je n'y comprends pas grand chose... Ca fait peur!
Après réflexion, je crois que je vais simplement superposer un TImage et un TPanel dans l'éditeur de ma form prinipale et que je jouerai avec la fonction :
Panel1.visible:=false; (ou true)
si tu veux un panel qui intègre une image, utilise ceci, ça devrait marcher...
Dans ton unité principale, tu joins dans les uses : Upanelimage
Ensuite par un exemple d'utilisation :
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
40
41
42
43
44
45
46
47 unit Upanelimage; interface uses Extctrls,classes,controls,jpeg; type Tpanelimage=class(Tpanel) protected image:Timage; public constructor create(aowner:Tcomponent);override; destructor destroy;override; procedure dimension(w,h,x,y:integer;parentctr:Twincontrol); procedure loadimage(const filename:string); end; implementation constructor Tpanelimage.Create(aowner:Tcomponent); begin inherited; image:=Timage.create(self); image.Parent:=self; end; destructor Tpanelimage.destroy; begin image.Free; inherited; end; procedure TPanelimage.dimension(w,h,x,y:integer;parentctr:Twincontrol); begin parent:=parentctr; width:=w; height:=h; left:=x; top:=y; image.Align:=alclient; end; procedure TPanelimage.loadimage(const filename:string); begin image.Picture.LoadFromFile(Filename); image.Stretch:=true; end; end.
Tu peux toujours modifier le Tpanelimage pour qu'il réponde à ce que tu veux...
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
40
41
42 unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs,UPanelimage; type TForm1 = class(TForm) procedure FormClose(Sender: TObject; var Action: TCloseAction); procedure FormCreate(Sender: TObject); private { Déclarations privées } paneljpeg:Tpanelimage; public { Déclarations publiques } end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.FormCreate(Sender: TObject); begin paneljpeg:=Tpanelimage.Create(self); paneljpeg.dimension(300,300,30,30,form1); paneljpeg.BevelWidth:=10; paneljpeg.loadimage('Chemin/photo.jpg'); end; procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction); begin paneljpeg.Destroy; end; end.
si tu veux récupérer toutes les méthodes du timage, tu mets image en public...
la dimension du timage dans le panel, tu modifies...etc.
voilà
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager