Thema: Delphi Rahmen um Label

Einzelnen Beitrag anzeigen

IngoD7

Registriert seit: 17. Feb 2004
464 Beiträge
 
Delphi 7 Enterprise
 
#31

Re: Rahmen um Label

  Alt 30. Jan 2007, 22:38
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 ...
  Mit Zitat antworten Zitat