Ich hatte sowas ähnlich in Java auch, nur wollte ich nicht selbst berechnen ob der User nun nen Stein und dann noch welchen er getroffen hat Aber das mit dem ARect sieht interessant aus. Das werde ich bei Gelegenheit mal probieren!
Hab gerade mal meinen Code umgeschrieben, so dass ich auch ne PBPaint procedure habe und diese bei OnPaint reinschreibe.
Jetzt zeichnet er wunderbar, aber immernoch slow-as-hell ;) Ich habe zwar nicht nur 5 Objekte (da läuft es einigermaßen schnell), aber 200 Objekte sollten jetzt auch nicht so ...
Ich habe das ganze zwar nicht so gemacht wie du jetzt, ich habe einfach meinen alten Code genommen, die Panels gegen PaintBoxes eingetauscht und in der FromPaint Methode gehe ich dann alle PaintBoxes durch, ändere die Farbe und zeichne ein gefülltes Rechteck ("FillRect ...
Fragt sich nur, warum ab immer der gleichen Stelle die Panels mit einmal trotzdem richtig positioniert wurden.
Das Zeichnen ist aber trotzdem slow-as-hell ;) Was ich ein wenig komisch finde. Ich weiß das Lazarus bzw die LCL alles abstrahiert, wie bei Java, um ...
Reduziere das mal auf's Wesentliche, sonst muss ich es machen. Du sagst ja quasi: "wenn ich Panel.Top in OnResize auf 2 setze dann ist es trotzdem bündig mit dem oberen Rand". Dann mach mal nur das, und schaue ob sich das reproduzieren lässt. Das nennt sich debugging und gehört zum Handwerk ...
Sorry, ich meinte oben eigentlich, ob du das Problem in einer kleinen Anwendung isolieren kannst, also ohne drumherum, nur das Panel das deiner Meinung nach nicht richtig funktioniert. Bzw. eine Anwendung, die nichts weiter macht als den vermeintlichen? Bug zu zeigen. Ich weiss bei deiner ...
Auch wenn es eine schnellere/elegantere Lösung gibt, funktioniert irgendetwas mit den Panels nicht richtig! Zumal ich in Java deswegen Panels genommen habe, damit ich nicht gucken brauche, wo hat der User jetzt hingeklickt, war es ein Stein oder nur ne Gitterlinie und welcher Stein war es. Mit ...
Es geht ums Game-Of-Life und es gibt 100%ig ne elegantere Lösung, aber das war halt meine Idee und daran würde ich gerne festhalten ;) Zumal es ja möglich sein muss. Denn wenn sogar Java ne bessere Performance hinlegt, will das schon was heißen!
Ich hoffe das die Dateien in dem ZIP-Archive reichen ...
Das Problem mit dem Anchor ist aber, wie kann ich ein Panel an einem anderem ausrichten?
Im Endeffekt stelle ich ne Art Tabelle dar. Zumal der Abstand dann ja auch größer wird, wenn ich das ganze über Autosize mache, aber das will ich ja auch nicht.
Ich musste fürs Studium ein Programm in Java schreiben und habe für meine Lösung mit vielen dynamisch erstellten Panels gearbeitet. Nur leider ist Java ja nicht so toll wenn es um Grfik ging. Mein Übungsleiter meinte dann das ich meine Lösung ganz gut mit Delphi ...