Ändern Sie das Verhalten eines Bauteils ohne Unterklassen
Ich brauchte Links 'à la' IE für ein Formular. Ich brauchte also im Grunde eine TLabel, aber 'TabStopable' und die TStaticText dafür qualifiziert. Aber es keine FocusRect, wenn sich der Fokus zu zeichnen. Hier ist meine Lösung.
Schnittstelle
Typ
TStaticText = class(StdCtrls.TStaticText)
Private
Verfahren DrawFocusRect;
Procedure WMSetFocus (Var Message: TWMSetFocus); Meldung WM_SETFOCUS;
Procedure WMKillFocus (Var Message: TWMSetFocus); Nachricht WM_KILLFOCUS;
Procedure WMPaint (Var Message: TWMPaint); WM_PAINT Nachricht;
Ende;
alles, was die Komponenten des Formulars werden von meinem modifizierten geerbt
TStaticText
TDataBrowseForm = class(TForm)
Label1: TStaticText;
Label2: TStaticText;
Private
{Private Deklarationen}
öffentliche
{Public Deklarationen}
Ende;
....
Umsetzung
....
Prozedur TStaticText.DrawFocusRect;
var
DC: HDC;
beginnen
DC: = GetDC(Handle);
versuchen Sie
Windows.DrawFocusRect (DC, Rect (1, 1, Breite-1,-1 Height));
Schließlich
ReleaseDC (Handle, DC);
Ende;
Ende;
Procedure TStaticText.WMKillFocus (Var Message: TWMSetFocus);
beginnen
erbte;
DrawFocusRect;
Ende;
Procedure TStaticText.WMPaint (Var Message: TWMPaint);
beginnen
erbte;
Wenn dann konzentriert
DrawFocusRect;
Ende;
Procedure TStaticText.WMSetFocus (Var Message: TWMSetFocus);
beginnen
erbte;
DrawFocusRect;
Ende;

Ändern Sie das Verhalten eines Bauteils ohne Unterklassen
Ändern Sie das Verhalten eines Bauteils ohne Unterklassen : Mehreren tausend Tipps, um Ihr Leben einfacher machen.
Ich brauchte Links 'a la' IE für ein Formular. Ich brauchte also im Grunde eine TLabel, aber 'TabStopable' und die TStaticText dafür qualifiziert. Aber es keine FocusRect, wenn sich der Fokus zu zeichnen. Hier ist meine Lösung.
Schnittstelle
Typ
TStaticText = class(StdCtrls.TStaticText)
Private
Verfahren DrawFocusRect;
Procedure WMSetFocus (Var Message: TWMSetFocus); Meldung WM_SETFOCUS;
Procedure WMKillFocus (Var Message: TWMSetFocus); Nachricht WM_KILLFOCUS;
Procedure WMPaint (Var Message: TWMPaint); WM_PAINT Nachricht;
Ende;
alles, was die Komponenten des Formulars werden von meinem modifizierten geerbt
TStaticText
TDataBrowseForm = class(TForm)
Label1: TStaticText;
Label2: TStaticText;
Private
{Private Deklarationen}
öffentliche
{Public Deklarationen}
Ende;
....
Umsetzung
....
Prozedur TStaticText.DrawFocusRect;
var
DC: HDC;
beginnen
DC: = GetDC(Handle);
versuchen Sie
Windows.DrawFocusRect (DC, Rect (1, 1, Breite-1,-1 Height));
Schließlich
ReleaseDC (Handle, DC);
Ende;
Ende;
Procedure TStaticText.WMKillFocus (Var Message: TWMSetFocus);
beginnen
erbte;
DrawFocusRect;
Ende;
Procedure TStaticText.WMPaint (Var Message: TWMPaint);
beginnen
erbte;
Wenn dann konzentriert
DrawFocusRect;
Ende;
Procedure TStaticText.WMSetFocus (Var Message: TWMSetFocus);
beginnen
erbte;
DrawFocusRect;
Ende;

Ändern Sie das Verhalten eines Bauteils ohne Unterklassen
By Wiezutun
Ändern Sie das Verhalten eines Bauteils ohne Unterklassen : Mehreren tausend Tipps, um Ihr Leben einfacher machen.