• Hallo,

    hätte da noch eine Anregung für den ToolTip.

    Könnte RGH da noch einen optionalen Modus einbauen ? Es gibt ja den normalen rechteckigen ToolTip und dann noch einen als Ballon. Mit einem optionalen zusätzlichen Modus könnte man dann einstellen, welchen man haben möchte (oder gibt es noch mehrere ?)

    Code
    Create("Tooltip",N1,N2,S,[M])

    Bei 0 oder Weglassen halt der normale Modus und bei 1 den TTS_BALLOON ($40) - Modus.

    Wenn wir schon einen ToolTip haben, sollte man auch dessen Möglichkeiten ausnutzen können. Ist ja wahrscheinlich nur eine Kleinigkeit.

    Eine weitere Überlegung wäre, ob man mehrere ToolTips für mehrere Dialogelemente mit einem Rutsch erstellen könnte (N2 und S als optionales Array). Und als Rückgabe auch ein Array, falls man mit SetText den ToolTip ändern will. Dann lohnt sich wenigstens der Aufwand :)

    Wir sind die XProfaner.

    Sie werden von uns assimiliert.

    Widerstand ist zwecklos!

    Wir werden alle ihre Funktionen und Algorithmen

    den unseren hinzufügen.

    4 Mal editiert, zuletzt von H.Brill (21. März 2025 um 17:37)

    • Anzeige

    Hallo!

    Wenn du gerade an deiner Website arbeitest oder dein aktuelles Hosting überdenkst: Wir betreiben mit NetzLiving eine Hosting-Plattform, die speziell auf Performance, Sicherheit und einfache Verwaltung ausgelegt ist.

    • ✔️ Schnelle Ladezeiten (optimiert für WordPress, WoltLab & Co.)
    • ✔️ Deutsche Server & DSGVO-konform
    • ✔️ Persönlicher Support (kein 0815-Ticket-System)

    Mehr erfahren

  • Naja, man kann sich das auch selbst bauen:

  • Und getestet :

    Also reicht im Grunde genommen ein API-Befehl und ein SetStyle - Befehl :

    Code
    SendMessage(hTip1, 1056, hicon, Addr(Title))
    SetStyle hTip1, GetStyle(hTip1) | $40

    Das könnte RGH doch einbauen. Dann gerät es auch nicht so leicht in Vergessenheit.

    Das mag ich gerade an den eingebauten Sachen in XProfan. Man kann es in der Hilfe, die man sowieso immer auf hat, schnell mal nachschlagen / schauen und hat es stets 'auf dem Schirm'.

    Wir sind die XProfaner.

    Sie werden von uns assimiliert.

    Widerstand ist zwecklos!

    Wir werden alle ihre Funktionen und Algorithmen

    den unseren hinzufügen.

    2 Mal editiert, zuletzt von H.Brill (31. März 2025 um 10:07)

  • Da kann man auch schöne Comics machen.

    Bitte Pfad entsprechend ändern und angehängte Bilder laden.

  • Jetzt müßte ich nur noch rausfinden, wie man einen Mauszeiger zu vorgegebenen Koordinaten automatisch bewegt, damit man nicht immer händisch mit dem Zeiger drüber fahren muß. Halt so ähnlich, wie man es bei einem Fernwartungssystem sieht.

    Damit könnte man dann die die Koordinaten zu den einzelnen Bildern ansteuern.

    Wir sind die XProfaner.

    Sie werden von uns assimiliert.

    Widerstand ist zwecklos!

    Wir werden alle ihre Funktionen und Algorithmen

    den unseren hinzufügen.

  • Dazu brauchst Du ein paar API-Funktionen.

    Mauscursor platzieren (absolute Bildschirmposition, daher brauchen wir noch ein paar mehr Funktionen):

    Code
    PROC SetMouseCursorPos
      'Setzt den Mauscursor auf eine bestimmte absolute Bildschirmposition (sic, nicht Fensterposition)
      parameters x&,y&
      @external("USER32.DLL","SetCursorPos",x&,y&)
    ENDPROC 'SetMouseCursorPos

    Um die linke obere Ecke des Client-Bereichs des Fensters in Bezug auf den Bildschirm herauszubekommen, braucht man grundsätzlich diese Funktionen:

    Und nun müssen wir noch die Breite des Fensterrahmens einrechnen und die Höhe von Fenstertitelzeile und Menü:

    Damit kannst Du dann alles notwendige ermitteln, um den Mauscursor auf einem der Comicbilder zu platzieren. Ob das allerdings auch das Erscheinen der Tooltips auslöst, weiß ich nicht.

    Einmal editiert, zuletzt von Jens-Arne (15. April 2025 um 14:45)

  • Oh danke, da muß ich mich erst mal durchfuchsen. Dachte jetzt nicht, daß so eine Menge Code nötig ist.

    Wir sind die XProfaner.

    Sie werden von uns assimiliert.

    Widerstand ist zwecklos!

    Wir werden alle ihre Funktionen und Algorithmen

    den unseren hinzufügen.

  • Ok, ich dachte, es schadet nicht, die ganzen einzelnen Funktionen für die Zukunft parat zu haben. Hier eine einzige Funktion, die das alles zusammenfasst und den Mauscursor auf eine relative Position in Bezug auf den Clientbereich eines Fensters setzt:

    Einmal editiert, zuletzt von Jens-Arne (15. April 2025 um 19:59)

  • Funktioniert mit einem Timer super :

    Code
    SetTimer 8000
    WhileNot ende
       WaitInput
       If %wmtimer
         SetRelMouseCursorPos(%HWnd, 40, 60)
         WhileLoop 1, 60000 : EndWhile
         SetRelMouseCursorPos(%HWnd, 330, 30)
       EndIf
       Case %Key = 27 : ende = 1
    EndWhile

    Das SLEEP wollte nicht so, wie ich. Deshalb die Zählschleife.

    Nochmals danke. Kann man ja auch für mehrere Sachen verwenden.

    Wir sind die XProfaner.

    Sie werden von uns assimiliert.

    Widerstand ist zwecklos!

    Wir werden alle ihre Funktionen und Algorithmen

    den unseren hinzufügen.

  • Entschuldigung, ich hatte noch etwas an der konsolidierten Funktion übersehen, nämlich rahmenlose Fenster. Bitte die nachfolgende Version benutzen:


    Und so ist es besser als mit einer Schleife zur Verzögerung (das Declare kommt natürlich nach oben):

    Schleifen zur Verzögerung funktionierten zuletzt beim C64, weil der bei jedem ziemlich exakt gleich schnell war. Bei mir wird Deine Schleife selbst im Interpreter so schnell durchlaufen, dass man den Text nicht lesen kann. Und meine CPU ist zwar schnell, aber auch nicht mehr das neueste, was es gibt. :lol:

    Einmal editiert, zuletzt von Jens-Arne (15. April 2025 um 23:24) aus folgendem Grund: Ein Beitrag von Jens-Arne mit diesem Beitrag zusammengefügt.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!