plrustic
Messages postés4Date d'inscriptionmardi 27 février 2007StatutMembreDernière intervention 9 mars 2007
-
6 mars 2007 à 11:44
plrustic
Messages postés4Date d'inscriptionmardi 27 février 2007StatutMembreDernière intervention 9 mars 2007
-
9 mars 2007 à 17:04
J'ai posées des questions très élémentaites :comment poser un bitmap sur mon applicatio, comment imprimer le contenu d'une list box .
Je ne retrouve pas trace ce ces questions et bien sûr pas d'éventuelles réponses et je ne peux pas rechercher à partir de mon pseudo
plrustic
Messages postés4Date d'inscriptionmardi 27 février 2007StatutMembreDernière intervention 9 mars 2007 6 mars 2007 à 17:56
Bon, avec l'aide de Delphi, j'ai essayé la source suivant :
procedure TForm1.FormCreate(Sender: TObject);
var
Bitmap: TBitmap;
begin
Bitmap := TBitmap.Create;
try
Bitmap.LoadFromFile('le_tapis.bmp');
Form1.Canvas.Brush.Bitmap := Bitmap;
Form1.Canvas.FillRect(Rect(0,0,256,256));
finally
Form1.Canvas.Brush.Bitmap := nil;
Bitmap.Free;
end;
end;
end.
Ca ne plante pas, le bitmap est sous le répertoire, mais il ne s'affiche pas.
Je précise que j'arrive à faire fonctionner mon microonde ET que j'ai programmé en turbo pascal un programme inachevé, certes, mais dont je tiens à votre disposition l'exe et même les sources si cela vous interesse.
florenth
Messages postés1023Date d'inscriptiondimanche 1 août 2004StatutMembreDernière intervention17 août 20083 6 mars 2007 à 18:40
@plrustic:
Il faut bien faire attention à ne dessiner sur la fiche QUE dans l'évènement OnPaint sous peine de ne rien voir s'afficher même si le code de dessin semble correct...
Essaye donc ceci et dis nous si ça fonctionne ou non ...
japee
Messages postés1727Date d'inscriptionvendredi 27 décembre 2002StatutModérateurDernière intervention 6 novembre 20218 6 mars 2007 à 20:24
Oui, Florenth t'a donné la solution.
J'ajouterai qu'il te faut déclarer Bitmap en variable globale, puisque tu vas le créer dans OnCreate de la Fiche et le détruire à la fin dans OnDestroy.
cs_Loda
Messages postés814Date d'inscriptionvendredi 3 novembre 2000StatutMembreDernière intervention30 juillet 20093 6 mars 2007 à 22:02
Re,
mon objectif n'était pas de mettre en doute tes capactié de cuisiner ou de programmeur. Seulement de t'expliquer la raison probable de l'effacement de tes post. Tu m'en voit désolé si je t'ai vexé.
En fait, c'est très simple et facile à "trouver" en tatonnant. Alors, soyont plus explicite:
"poser un bitmap sur mon applic": avec un composant: TImage:
1. poser un composant Timage sur une form.
2. double cliquer sur le champ "picture" dans l'inspecteur d'objet
3. cliquer sur "charger"
4. choisir le fichier
5. OK, OK.
-> le bitmap est sur la form. Les données seront intégrée à l'exe. (pas besoin de fichier externe)
( aucune ligne de codé tapée)
(plus d'info dans l'aide. Index: "Image, composant")
TImage: regarde particulièrement les proprietés
- stretch
- autosize
- center
- Picture (TPicure.LoadFromFile, ...)
A+
Loda
<hr size="2" width="100%" />Se poser les bonnes questions est le premier pas pour trouver les bonnes réponses.
plrustic
Messages postés4Date d'inscriptionmardi 27 février 2007StatutMembreDernière intervention 9 mars 2007 9 mars 2007 à 09:13
Bonjour.
C'est encore moi qui n'ait pas avancé d'un pouce.
Je continue à l'occasion d'errer dans l'aide de Delphi sans résultat appréciable.
Je n'ai pas encore trouvé dechamp "picture" dans un inspecteur d'objet. Le code suivant ne plante
pas à la compilation... mais n'affiche rien à l'execution :
procedure TForm1.FormPaint(Sender: TObject);
begin
Canvas.Brush.Bitmap := Bitmap;
Canvas.FillRect(Rect(0,0,256,256));
end;
procedure TForm1.FormDestroy(Sender: TObject);
begin
Bitmap.Free;
end;
end.
Pourtant le bitmap 'le_tapis.bmp'est bien là sous le même répertoire et il est bien lu par Paint ou n'importe quel autre logiciel de lecture des .BMP, sauf Delphi.
Avec l'espoir d'enfin démarrer, je vous remercie d'avance
cs_Loda
Messages postés814Date d'inscriptionvendredi 3 novembre 2000StatutMembreDernière intervention30 juillet 20093 9 mars 2007 à 11:19
salut,
il y a plusieurs solutions pour "voir" un bitmap sur ta form:
A. le dessiner dans le Paint.
B. utiliser un compo pour l'afficher. (Timage)
Explication Solution B: Pour le "poser sur ton applic", utilise un compo TImage. Si tu suite la marche a suivre donnée dans mon précédent post, tu verra ton image en moins d'une minutes sur ta form. (au design time et au run time)
Dans ton code, je vois que tu n'as PAS posé un composant TImage sur ta form. (pas 1.)
As-tu lue l'aide de TImage? TPicture?
Explication solution A: Je vois dans ton code que tu essaie de dessiner toi même le bitmap dans le paint. Cela devrait fonctionner, mais cela n'est PAS la méthode que je t'avais expliquée. (c'est pour ça que tu ne voit pas le TPicture )
A titre d'exemple, pour dessiner le fond de ma form en mosaic j'utilise ce code dans une de mes applic:
plrustic
Messages postés4Date d'inscriptionmardi 27 février 2007StatutMembreDernière intervention 9 mars 2007 9 mars 2007 à 17:04
Merci, cette fois j'ai avancé d'un poil : je vois mon bitmap.
Ca marche ...mais presque trop : je n'ai pas encore écrit une ligne de code !
Ce "tapis_bmp" représente un tapis de cartes et je voudrais (avec du code ) disposer autour les 52 bitmat qui sont les cartes d'un jeu de bridge et que j'ai par ailleurs.
Mais avant d'en ranger 52, je dois poser le premier sur ma form1 mettons l'as de pique à la place que j'ai choisie par programmation selon le joueur auquel il est distribué.
Comme tu le vois le chemin est encore bien long et tu peux te décourager...
Si tel n'est pas le cas,soit en remercié :
C'est l'adaptation à Delphi qui me pose le problème, pas le langage pascal.