Olá Pessoal,
Fiquei muito entusiasmado com os novos recursos e componentes da VCL, e um deles que é de muita utilidade é a nova propriedade HintText presente no TEdit, ela permite que você defina um texto padrão a ser exibido no Edit quando a propriedade text não tiver nenhum valor.
Bom, como eu sei que nem todos podem migrar imediatamente e desfrutar desse novo recurso, resolvi demonstrar como é possível simular o HintText utilizando qualquer versão do Delphi.
Veja o exemplo:
unit uFormPadrao; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, XPMan; type TFormPadrao = class(TForm) procedure FormCreate(Sender: TObject); private procedure TextHintOnEnter(Sender: TObject); procedure TextHintOnExit(Sender: TObject); { Private declarations } public { Public declarations } end; var FormPadrao: TFormPadrao; implementation {$R *.dfm} Const DefaultColor: TColor = clBlack; procedure TFormPadrao.FormCreate(Sender: TObject); var i: Integer; begin for i := 0 to ComponentCount - 1 do begin if Components[i] is TEdit then begin TEdit(Components[i]).OnEnter := TextHintOnEnter; TEdit(Components[i]).OnExit := TextHintOnExit; TextHintOnExit(TEdit(Components[i])); end; end; end; procedure TFormPadrao.TextHintOnEnter(Sender: TObject) ; begin if Sender is TEdit then begin if TEdit(Sender).Text = TEdit(Sender).Hint then TEdit(Sender).Text := EmptyStr; TEdit(Sender).Font.Color := DefaultColor; end; end; procedure TFormPadrao.TextHintOnExit(Sender: TObject) ; begin if Sender is TEdit then begin if TEdit(Sender).Text = EmptyStr then begin TEdit(Sender).Text := TEdit(Sender).Hint; TEdit(Sender).Font.Color := clGray; end; end; end; end.
Para que todos os forms tenham a funcionalidade você pode criar um form Padrao e utilizar a herança para fazer o trabalho para você.
Veja o nosso exemplo funcionando: