Je n'ai qu'un pc sous win allumé pour tester celà vite fait ce soir, aussi n'ai je testé que sous win ma réponse à ta première question :
Comment utiliser une brosse personnalisée dans une stringgrid?
L'exemple ci-dessous utilise une image existant sur le disque dur,
1 2 3 4 5 6 7 8
| procedure MyBrushFromFile;
var
a :tbitmap;
begin
a := tbitmap.Create;
a.LoadFromFile('C:\1.bmp');
stringgrid1.Canvas.Brush.Bitmap := a;
end; |
Il est plus pratique de faire la meme chose en mettant l'image en tant que ressource avec lazres (outil fourni avec lazarus)...
Pour celà, après avoir copié mon fichier bitmap (1.bmp) dans le dossier de lazres (le dossier tools de lazarus) tape dans une console :
1 2
|
C:\lazarus\tools>lazres mybmp 1.bmp |
ce qui devrait te donner pour résultat :
1.bmp ResourceName='1' Type='BMP'
Lazres a créé un fichier resource utilisable par lazarus nommé mybmp
Recopie ce dernier dans le repertoire de ton projet et je renomme le en mybmp.lrs
Il suffit ensuite de rajouter en fin de programme après le mot clef initialization:
Ceci indique au compilateur d'integrer la resource au projet compilé.
La resource est desormais accessible par son nom (ici '1') dans le programme.
Tu peux facilement changer ta brush de la manière suivante :
1 2 3 4 5 6 7 8
| procedure MyBrushFromResource;
var
a :tbitmap;
begin
a := tbitmap.Create;
a.LoadFromLazarusResource('1');
stringgrid1.Canvas.Brush.Bitmap := a;
end; |
PS : ceci est censé fonctionner aussi sous linux, je ne manquerai pas de tester celà dès demain
En espérant t'avoir un peu aidé
Bonne programmation
Clandestino
Partager