About-Dialog mit Credits-Bereich

  • Ein About-Dialog ist ein kleines, nettes Ding, oft kaum größer als eine Messagebox und meist einfach nur eine Nebensache. Aber fast jedes Programm hat einen About-Dialog, und sei es nur, um seinen "Stempel" aufzudrücken, eine Kontaktadresse oder ein Copyright einzufügen. Dann gibt es noch die Danksagungen, die in den 00er Jahren gerne mit ein paar tollen Effekten aufgepeppt wurden, wie z.B. vertikale Laufschrift, wie im Abspann eines Films. Aber wer guckt schon gerne den Abspann eines Films? 8o Schöner finde ich, wenn man den Abspann selbst scrollen kann, so schnell und so langsam wie man es will.

    Das soll es also sein: Ein About-Dialog, in dem man den Namen des Programms mit dem eigenen Namen schön darstellen kann, vielleicht eine Versionsnummer zeigen, und mit Buttons und LinkLabels die man anklicken kann, woraufhin dann die Web- oder E-Mail-Adresse geöffnet wird. Ach ja, und ein Bereich, in dem man allen Beteiligten seinen Dank aussprechen kann.

    Also habe ich im DE Forum hier und im EN Forum nach Beispiel-Codes für einen About-Dialog mit Credits-Bereich gesucht. Man sollte meinen, die müsste es doch massenweise geben, denn About-Dialoge gab es schon in der Computer-Steinzeit. Doch weit gefehlt: Lediglich 2 Code-Beispiele hatte ich gefunden. Zwar fehlten beiden Dialogen ein Credits-Bereich, aber - juhu! - es gab LinkLabels. Damit war ich einen Schritt weiter.

    Im EN Forum erstellte ich einen Thread, in dem ich fragte, ob mir jemand einen schönen About-Dialog zur Verfügung stellen könne. Schon die erste Antwort war vielversprechend und schlug vor, ein RichEdit zu benutzen und eine RTF-Datei hineinzuladen. Schöne Sache. Leider hatte ich meine Anfrage wohl zu ungenau gestellt, denn statt des Codes für den About-Dialog wurde mir nur ein Bild des Dialogs zu Verfügung gestellt. 8o

    Anhand der Tipps und Anregungen habe ich einen eigenen Code entwickelt und stelle ihn hier zur Verfügung. Der About Dialog ist relativ groß und besteht aus einem RichEdit, das den linken und mittleren Bereich des Dialogs einnimmt. Im rechten Bereich gibts Labels und Buttons. Im RichEdit kann sowohl ein About-Text gezeigt werden, als auch die Credits, durch die man manuell scrollen kann.

    Vorschau


    Einstellungen

    Ich habe mich um eine einfache Konfiguration bemüht. Wahrscheinlich wäre es ziemlich aufwendig geworden, alle Konfigurationsmöglichkeiten an einer Stelle zu versammeln. Nun sind es 3 verschiedene Stellen geworden, die ich mit Doppellinien gut sichtbar gekennzeichnet habe und der Code ist überschaubar geblieben. Um eigenen Einstellungen zu setzen, genügt es, Änderungen in diesen Bereichen durchzuführen. Damit können Einstellungen für die Titelleiste und den rechten Bereich mit den Labels und Buttons gemacht werden.

    Einstellungen für den Text im RichEdit werden in der RTF-Datei vorgenommen, auch Links für Web- und E-Mail-Adressen werden in der RTF-Datei eingerichtet. Die fertige Datei wird dann einfach ins RichEdit geladen. Der Pfad zur RTF-Datei kann im Code im ersten Einstellbereich angepasst werden. Relative Pfade sind mögich, z.B. "..\..\About.rtf".

    Eine Beispiel-RTF-Datei habe ich hinzugefügt: "About.rtf". Meine Beispiel-RTF-Datei wurde mit "LibreOffice Writer" erstellt. Wahrscheinlich kann man sie mit jedem höheren Office-Programm öffnen und nach eigenen Vorstellungen gestalten. Leider habe ich im Moment kein MS Office zur Verfügung, um das zu prüfen.

    Wichtig: Mit MS WordPad kann man die vorhandene Beispiel-RTF-Datei nicht bearbeiten! (Die Daten sind dann unleserlich.)

    Aber man kann auch mit MS WordPad eine eigene RTF-Datei erstellen und diese im About-Dialog benutzen. Das Gleiche gilt für MS Office: Sollte sich die vorhandene RTF-Datei nicht bearbeiten lassen, einfach eine neue erstellen und nach eigenen Wünschen gestalten. :)

    Feedback ist willkommen.


    Version 0.0.12.2

    • Erste veröffentlichte Version.

    Version 0.0.12.5

    • Hinzugefügt: Möglichkeit, das RichEdit mit oder ohne Rahmen anzuzeigen.
    • Bugfix: Beim Scrollen des RichEdit mit der Bildlaufleiste flackerten der Text und die Bildlaufleiste. - Danke an UEZ für das Finden dieses Problems. :thumbup:

    Version 0.0.12.6

    • Hinzugefügt: Caret verstecken, wenn das RichEdit mit dem Scrollbalken gescrollt wird.
    • Bugfix: Den Wert für die Hintergrundfarbe für das RichEdit von RGB zu BGR konvertiert.