Zitat von
Glados:
Hat zwar nix mit dem Thema zu tun aber was soll man denn ableiten wenn OnKeyPress beispielsweise bei 10 Formularen auf ESC reagiert und Close; aufruft und bei 10 anderen Formularen 2 Zeilen mehr ausgeführt werden?
Man schreibt halt die zwei Zeilen nur einmal und vergisst sie nie.
Und damit ein Formulae nicht auf 0*0 Pixel geschrumpft werden kann, baut man das auch ein.
Bei mir haben fast alle Formulare 'ne Actionlist für die Funktionalität und am oberen Rand ein Panel und unten 'ne Statusbar mit AutoHint := true und 'ne ImageList.
Die Actionlist erstellt dann beim Create des Formulars aus den Actions ein Menü und auf dem Panel SpeedButtons, die aus der Imagelist ein Bild zugewiesen bekommen.
Da hat man dann ganz schnell mal einige hundert Zeilen Quelltext und Buttoneinfügen und Menüeinfügen und Actionzuweisen ... gespart. Man hat ein einheitliches Aussehen, eine einheitliche Grundfunktionalität und nur eine Stelle, an der man schlimmstenfalls Fehler suchen muss und nur eine Stelle, an der man grundlegende Erweiterungen implementieren kann und die dann in allen Formularen in allen Programmen nach 'nem Neukompilieren "mal eben" mit drinne sind.
Achso, meine Formulare merken sich ihre Position auf dem Bildschirm und ihre Größe ... und ggfls. andere wichtige Sachen, damit das Aussehen beim Programmstart dem beim Programmende entspricht und man da weiterarbeiten kann, wo man aufgehört hat.
Kann man für jedes Formular einzeln implementieren, muss man aber nicht.
Für sinnvolle Objektorientierung darf man ruhig auch mal etwas komplexeren Gedankengängen folgen und nicht nur 'ner einfachen "sind doch nur zwei Zeilen"-Logik.
Phantasie und Kreativität sind beim Programmieren durchaus eine hilfreiche Zutat.