Ich will ein Menü graphisch verschönern und habe dazu über die Menü-Fläche ein TImage (230x550pixel²) gelegt.
Nun habe ich 72x72pixel² große vorgefertigte Graphikelemente, die dort ausfüllend hineinbringen will. Der Quelltext sieht so aus:
Code: Alles auswählen
FOR x:=1 TO (img_steuer_graph.Width DIV 72) DO // Hintergrundpic ist 72x72pix
FOR y:=1 TO (img_steuer_graph.Height DIV 72) DO
BEGIN
graph.LoadFromFile(pfad.graph+'Komponente\hintergrund_menü.bmp');
img_steuer_graph.Canvas.Draw(x*72,y*72,graph);
end;
WOBEI graph:TGraphic;
Das wird von Lazarus auch angenommen - aber sobald nach Programmstart auch nur einer der beiden Zeilen
graph.LoadFromFile(pfad.graph+'Komponente\hintergrund_menü.bmp');
img_steuer_graph.Canvas.Draw(x*72,y*72,graph);
aufgerufen wird, erhalte ich die berüchtigte Fehlermeldung: Exception-Klasse >>External: SIGSEGV<< ausgelöst. Was ist da falsch? Dieser Fehler ist kein unbekannter - aber noch nie hat ihn jemand eichtig fassen können. Bei mir trat er bisher schon öfter auf: v.a. wenn man aus einem array eine Position abrufen wollte, die gar nicht im Bereich vorkommt...
Ich hoffe, ihr könnt mir weiterhelfen.
Liebe Grüße
Präzisierung der Frage: Wie kann ich auf eine Komponente an bestimmte Stellen Bild(chen) aus einer Datei malen?
Gibt es noch andere Möglichkeiten, die Standardoptik zu verändern?