Jump to content
Fórum Script Brasil
  • 0

(Resolvido) Herança Visual


Manoel Zancheta
 Share

Question

9 answers to this question

Recommended Posts

  • 0
  • 0

Os modelos que achei, fazem herança do form com todos os componentes. Eu não achei nada que mostre se é possível eu herdar apenas um botão e seus métodos (por exemplo). Esta parte da herança do form eu já faço, só queria deixar os objetos num template, por exemplo: Teria: - edits já tratados só para números; - edits já tratados para valor; - edits já tratados para alfanuméricos; - maskedit formatado para CNPJ, CPF, RG, IE, etc... Será que é possível fazer isso, não achei nada. Grato!

Link to comment
Share on other sites

  • 0

se for para criar novos componentes, sim ... tipo criar um novo Edit que só aceita numeros

exemplo

http://www.planetadelphi.com.br/artigo/23/cria%C3%A7%C3%A3o-de-componentes---1%C2%AA-parte-%28c/-exemplo-pr%C3%A1tico%29/

se não for isso... pesquise no google pela palavra .... delphi template ( engine, method, code, list, class, function...etc )

abraço

Link to comment
Share on other sites

  • 0

voce tem que formatar a string

exemplo ... faça as modificações para o seu uso

procedure TForm1.Edit1Enter(Sender: TObject);
begin
  Edit1.Clear;
  SysLocale.MiddleEast := true;
  Edit1.BiDiMode := bdRightToLeft;
end;

procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
   if key = #13 then
      begin
         Edit1.text := formatfloat(',0.00',strtofloat(trim(Edit1.text)));
         exit;
      end;

   if not (key in ['0'..'9',',', #8]) then
      key := #0;
end;

outro exemplo

http://www.planetadelphi.com.br/dica/5951/mascara-para-o-edit

abraço

Link to comment
Share on other sites

  • 0

tem que ser assim

unit NumEdit;

interface

uses
  SysUtils, Classes, Controls, StdCtrls;

type
  TNumEdit = class(TEdit)
  private
    { Private declarations }
    FNum: boolean;
  protected
    { Protected declarations }
  public
    { Public declarations }
    constructor Create(AOwner: TComponent); override;
    procedure KeyPress(var Key: Char);override;
  published
    { Published declarations }
    property Numerico: boolean read FNum write FNum default true;
  end;

procedure Register;

implementation

procedure Register;
begin
  RegisterComponents('MyComp', [TNumEdit]);
end;

constructor TNumEdit.Create(AOwner: TComponent);
begin
   inherited Create(AOwner);
   FNum := true;
   Text := '0';
end;

procedure TNumEdit.KeyPress(var Key: Char);
const teclas = ['0'..'9',',', #8];
begin
   if FNum then
   if not (key in teclas) then
      key:=#0;

   if key = #0 then
      begin
         Text := formatfloat(',0.00',strtofloat(trim(text)));
         exit;
      end;

   inherited KeyPress(Key);
end;

end.

abraço

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

  • Forum Statistics

    • Total Topics
      149.8k
    • Total Posts
      646.6k
×
×
  • Create New...