Thema: Delphi Rahmen um Label

Einzelnen Beitrag anzeigen

Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#27

Re: Rahmen um Label

  Alt 30. Jan 2007, 21:57
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;
Gruß
Hansa
  Mit Zitat antworten Zitat