Klick auf transparentes Form



  • Hallo,

    ich habe einen recht guten Ticker programmiert, der ruckel- und flackerfrei über den Bildschirm juckelt. Dies habe ich über die Transparenzeigenschaft des Formulars erreicht. Nun möchte, ich dass sich bei Klick auf den Tickertext ein Link im Browser öffnet - geht auch. Leider muss man immer genau den Text treffen. Klickt man auf den transparenten Bereich passiert nix. Kann man das ändern, ohne die Transparenz aufzugeben?



  • Hallo,

    mal ganz stupide nachgefragt: In welchem Ereignis wird denn die url geöffnet?

    MfG



  • Das hatte ich vergessen 🙂

    Auf dem transparenten Form befindet sich ein Label, welches über einen Timer verschoben wird. Via Label-OnClick wird dann über ShellExecute der Link geöffnet.



  • Das einfachste wird wohl sein, wenn du das Label in ein eigenes Panel verfrachtest und dann den Ereignishandler für das Panel anstelle des Labels registrierst.



  • Kann ich mal probieren, ich befürchte aber, das wird nichts bringen, weil das label ja auch die Transparenzfarbe des Forms haben muss.



  • Noch eine Frage für mich zum Verständnis: Auf transparent-farbenen Bereichen eines Steuerelementes werden keine Clicks registriert, habe ich das richtig mitbekommen?



  • Exakt, jedenfalls musste ich das so feststellen.



  • Ich würde da einfach was hinpfuschen...

    Wenn man mit der MAus über die Schrift (TLabel::OnMouseMove) fährt, einfach die TForm::Color auf den Standardwert (clBtnFace) setzen und dann bei einem Click wieder auf die TransparentColor zurücksetzen, respektive, wenn nicht geklickt wird, nach 2 Sekunden, mittels eines Timers, wieder zurücksetzen.

    Einzige andere Möglichkeit, die mir einfällt, wäre einen globalen Mousehook zu verwenden und auszuwerten, wo geklickt wird und wenn das innerhalb der Labels ist... Dürfte aber nicht ganz so einfach werden.


Anmelden zum Antworten