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...
Zu letzterem : so ist es.
Zu dem davor : das Krücken-showmessage hat mich gestört und keiner hat etwas gesagt, was zu tun ist, um es überflüsig zu machen. Ich habe refresh, repaint, und die anderen Vorschläge sehr wohl ausprobiert. In der
OH habe ich sogar das mir bisher nicht bekannte FrameRect entdeckt und auch das getestet. 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 !
Zitat von
IngoD7:
..Da du Delphi ja so sehr gut folgen kannst
, erkläre doch mal, was passiert, wenn du bei deinem Code zum zweiten mal die Maus über das Label fährst. Bei D7 unter XP sieht man nur noch Schrott.
Ja, kann der Delphi-Logik schon folgen, aber laut Dir angeblich nicht. 8)
P.S.: das ganze läuft jetzt unter D7 und XP ohne Schrott auf 100 ??? (eher mehr) Forms.
Edit : ist das hier nicht klar ?
Zitat von
IngoD7:
..erkläre doch mal, was passiert, wenn du bei deinem Code zum zweiten mal die Maus über das Label fährst. Bei D7 unter XP sieht man nur noch Schrott.
Das wird umgekehrt rum im OnMouseLeave erledigt !! Für die Nachwelt :
Delphi-Quellcode:
procedure TfrmKey.lblMouseLeave(Sender: TObject); // falls Maus nicht über Label : zurücksetzen
begin
with Sender as TLabel do begin
Color := clInfoBk;
Font.Color := clBlack;
end;
Canvas.Pen.Width := PinselBreite;
Canvas.Pen.Color := Color;
Canvas.Rectangle ((Sender as TLabel).Left+1,(Sender as TLabel).Top+1,
(Sender as TLabel).Left + (Sender as TLabel).Width,
(Sender as TLabel).Top+(Sender as TLabel).Height);
end;