Modifier le comportement d'un composant sans sous-classement
j'ai besoin de des liens 'à la' c'est à dire pour un formulaire. J'ai donc besoin d'un TLabel mais 'TabStopable' et le TStaticText se qualifie pour que. Mais il ne dessine pas un FocusRect quand concentré. Voici ma solution.
interface
type
TStaticText = classe(StdCtrls.TStaticText)
private
procédure DrawFocusRect
procédure WMSetFocus(var Message: TWMSetFocus) message WM_SETFOCUS
procédure WMKillFocus(var Message: TWMSetFocus) message WM_KILLFOCUS
procédure WMPaint(var Message: TWMPaint) message WM_PAINT
fin
// tous les composants de ce formulaire hérité de mes modifié
// TStaticText
TDataBrowseForm = class(TForm)
Label1: TStaticText
Label2: TStaticText
private
{ Private declarations }
public
{ déclarations Publiques }
fin
....
application
....
procédure TStaticText.DrawFocusRect
var
DC: HDC
begin
DC := GetDC(Manche)
Windows.DrawFocusRect(DC, Rect(1, 1, Largeur-1, Taille -1))
enfin
ReleaseDC(Poignée, DC)
fin
fin
procédure TStaticText.WMKillFocus(var Message: TWMSetFocus)
begin
hérité
DrawFocusRect
fin
procédure TStaticText.WMPaint(var Message: TWMPaint)
begin
hérité
si Concentré puis
DrawFocusRect
fin
procédure TStaticText.WMSetFocus(var Message: TWMSetFocus)
begin
hérité
DrawFocusRect
fin
& nbsp
Modifier le comportement d'un composant sans sous-classement
Modifier le comportement d'un composant sans sous-classement : Plusieurs milliers de conseils pour vous faciliter la vie.
j'ai besoin de des liens 'a la' c'est a dire pour un formulaire. J'ai donc besoin d'un TLabel mais 'TabStopable' et le TStaticText se qualifie pour que. Mais il ne dessine pas un FocusRect quand concentre. Voici ma solution.
interface
type
TStaticText = classe(StdCtrls.TStaticText)
private
procedure DrawFocusRect
procedure WMSetFocus(var Message: TWMSetFocus) message WM_SETFOCUS
procedure WMKillFocus(var Message: TWMSetFocus) message WM_KILLFOCUS
procedure WMPaint(var Message: TWMPaint) message WM_PAINT
fin
// tous les composants de ce formulaire herite de mes modifie
// TStaticText
TDataBrowseForm = class(TForm)
Label1: TStaticText
Label2: TStaticText
private
{ Private declarations }
public
{ declarations Publiques }
fin
....
application
....
procedure TStaticText.DrawFocusRect
var
DC: HDC
begin
DC := GetDC(Manche)
Windows.DrawFocusRect(DC, Rect(1, 1, Largeur-1, Taille -1))
enfin
ReleaseDC(Poignee, DC)
fin
fin
procedure TStaticText.WMKillFocus(var Message: TWMSetFocus)
begin
herite
DrawFocusRect
fin
procedure TStaticText.WMPaint(var Message: TWMPaint)
begin
herite
si Concentre puis
DrawFocusRect
fin
procedure TStaticText.WMSetFocus(var Message: TWMSetFocus)
begin
herite
DrawFocusRect
fin
& nbsp
Modifier le comportement d'un composant sans sous-classement
By commentfaire
Modifier le comportement d'un composant sans sous-classement : Plusieurs milliers de conseils pour vous faciliter la vie.