Beispiel für ein Syslink-Control

  • Das Syslink-Control bietet die Möglichkeit, Links ins Internet in einen Text einzubetten, wie das bei HTML-Seiten (mit: <a href="...">link</a>) möglich ist.

    Man muss also nicht mehr einzelne Label-Controls zusammensetzen, um das zu erreichen.

    Zu dem Thema gibt es schon ein paar UDFs, aber da fehlte mir immer die Möglichkeit die Schriftart und -größe anzupassen.

    Bei meinem Beispiel benutze ich auch die WindowProc um die Nachrichten ($WM_NOTIFY und $WM_CTLCOLORSTATIC) auszuwerten.

  • Ich habe mich mal noch etwas mehr damit beschäftigt und speziell ging es mir um die Möglichkeit die Farben der Links zu ändern, sodass man auch einen dunklen Hintergrund benutzen kann.

    Ich habe mal ein Beispielscript erstellt, bei dem statt der Callback-Routine nur GuiRegisterMsg verwendet wird (ist für Anfänger vielleicht einfacher zu verstehen):

    Screenshot:

  • Das sieht sehr schön aus.
    Gute Arbeit.

    Lieben Gruß,
    Alina

    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    Geheime Information: ;)
    OuBVU5ebLhHu5QvlnAyQB4A7SzBrvWulwL7RLl2BdH5tI6sIYspeMKeXMSXl

  • Ein Problem gab es noch: und zwar den Fokus-Rahmen. Der war immer dunkelblau, was auf einem dunklen Hintergrund natürlich ungünstig ist.

    Jetzt habe ich es geschafft, eine Funktion zu schreiben, die mir den Index vom Link mit dem Focus zurückgibt, aber $NM_CUSTOMTEXT gibt mir nur den Text aus, aber nicht den Index des gerade zu zeichnenden Textes.

    Also habe ich etwas getrickst und die Texte selbst mit einem Index versehen. Dazu benutze ich eine statische MAP, um die Texte und die Indizes zu speichern.

    Auf jeden Fall kann man so auch die Farbe für den Fokus-Rahmen ändern (wegen der MAP nur mit der aktuellen AutoIt-Version):

    Screenshot: