Zitat von
Hansa:
mach mal etwas halblang. Was soll das hier denn :
Zitat von
IngoD7:
..Erst jammerst du rum, dass du nur eine halbwegs lesbare Ausgabe hinbekommst, wenn du ein Krücken-ShowMessage einbaust ...Dabei ignorierst du alle Fakten, Gedanken...deine Online-Hilfe sei völlig ausgefallen...Aber gut, das ist mein Problem...
Sorry für das "Jammern". Das hatte ich aber schon (vorher) editiert. Ich war etwas erregt über deine an den Tag gelegte Ignoranz.
Zitat von
Hansa:
[...]und keiner hat etwas gesagt, was zu tun ist, um es überflüsig zu machen.
Genau das meine ich! Ich habe dir in Posting #21 genau das geliefert. Die Zauberformel lautete: Rand
um das Label herum legen und
Label.Refresh. Letzteres, damit das Label immer
vor dem Rectangel angezeigt wird.
Schon vorher wurde dir gesagt, dass man das Rectangel durchsichtig machen kann per
Canvas.Brush.Style:=bsClear. Anstatt das zu überprüfen, kam eine unbrauchbare Vermutungsäußerung von dir. Auf die darauffolgende Frage, was du meinst, kam gar nichts. Daraufhin hatte ich nochmal geschrieben, dass das ein sehr guter Vorschlag sei. Dein abschließender Kommentar: "Alles überflüssig."
Zitat von
Hansa:
Und mit den dicken Rahmen, da habe ich das so gemacht wie es wohl jeder machen würde. Es muss notfalls ein gewisser Effekt provoziert werden und zwar deutlich sichtbar !
Ich weiß ja, was du meinst. Aber klares Nein - das würde eben
nicht jeder so machen. Bei seriöser Verfolgung der dir gemachten Vorschläge wärst du zu einer weit "unprovozierenderen" Lösung gekommen.
Zitat von
Hansa:
Edit : ist das hier nicht klar ?[...]Das wird umgekehrt rum im OnMouseLeave erledigt !!
Natürlich war das
nicht klar. Du hattest bis dahin gar nicht gesagt, dass der Rahmen auch wieder verschwinden soll. Denkbar wäre ja auch gewesen, dass alle Rahmen bestehen bleiben sollen. Angenommen das wäre so, dann wäre dein Code Murks, weil du kein zweites Mal auf ein Label fahren kannst, ohne dessen Anzeige zu versauen.
Okay, deine MouseLeave-Methode reisst das raus. Aber auch nur halbherzig. Eine MouseEnter-Methode mit durchsichtigem Rectangel (Canvas.Brush.Style:=bsClear) und herumgelegtem Rahmen würde auch dann funktionieren (also das Label immer korrekt anzeigen, auch bei mehrfachem Überfahren mit der Maus), wenn es gar kein MouseLeave gäbe.
Das Problem einer eventuellen Überdeckung von anderen visuellen Sachen auf der Form hast du auch nicht gelöst. Es wurde angesprochen. Es interessiert dich aber gar nicht. Wer mit deinem Code noch etwas direkt neben den Rahmen-Labeln liegen hat, der wird diese Nachbarn mit dem Rahmen zerstören. Warum? Weil du ein simples Self.Refresh am Ende deiner MouseLeave-Methode für überflüssig hälst ...