Newsgroup: it.comp.lang.delphi
Titolo: aiuto x derivazione!! PLEASE!!!

Ciao a tutti...
chiedo scusa a priori x la domanda, ma e' la prima volta che provo a fare
questo:
ho una form con un po' di TEdit, e vorrei passare da 1 all'altro usando il
tasto INVIO.
Potrei intercettare l'evento x ogni TEdit, ma preferirei usare una soluzione
+ "elegante"
quindi ho pensato a qualcosa di simile (poi ditemi se sbaglio!)
type
  TMiaEdit = class(TEdit)
    {qui ci dovrei mettere la dichiarazione di un metodo di TEdit con
l'override??}
  end;
  Form1 = class(TForm)
   edNome: TMiaEdit;
   edCognome: TMiaEdit;
   ....
  end;
Implementation
{e poi qua da qualche parte dovrei implementare quel metodo di TMiaEdit???}
....
end.
O forse ancora dovrei semplicemente creare direttamente il componente
TMiaEdit
registrarlo, etc... ???
Ovviamente l'esempio del TEdit e' solo uno fra tanti... l'idea e' quella di
applicare lo stesso
"procedimento" anche ad altri componenti(TListBox, TButton, TCheNeSo...) in
altre situazioni
(OnMouseOver, OnClick, OnTuttoQuelloCheVoleteBasaCheMmaiutate...)
...and last, but not least,
BUON WEEK-END A TUTTO IL NG!!!
Leo
Visual Basic rende facili le cose facili, Delphi rende facili le cose
difficili.
-- 
Posted from 
smtp3.libero.it
 [193.70.192.53] 
via Mailgate.ORG Server - 
http://www.Mailgate.ORG

il componente TMiaEdit registrarlo, etc... ???
Ti serve forse qualcosa del genere?
procedure TForm1.FormCreate(Sender: TObject);
begin
 KeyPreview := true; // oppure,  presetta la relativa property nel Form
Designer
end;
procedure TForm1.FormKeyPress(Sender: TObject; var Key: Char);
begin
 if (Key=#13) then ActiveControl := FindNextControl(ActiveControl, true,
true, true);
end;

 + "elegante"
Puoi derivare da TEdit un nuovo componente e registrarlo. Per farti vedere
come ti allego una mia unit del componente TNumberEdit, versione numerica
dell'edit (non e' il massimo come programmazione eh). Tu dovresti fare che
quanto l'utente preme invio, intercetti il fatto e cambi il tasto con il
tab.
Tra l'altro non servirebbe neanche un componente, e' una cosa da un paio di
righe :)
Ciao !                    {MSX}
unit NumberEdit;
interface
uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  StdCtrls;
type
  TNumberEdit = class(TEdit)
  private
   procedure cambia(Sender: TObject; var Key: Char);
   procedure SetNumber(value:integer);
   function GetNumber:integer;
    { Private declarations }
  protected
    { Protected declarations }
  public
   constructor Create(AOwner: TComponent); override;
    { Public declarations }
  published
   property Number:integer read GetNumber write SetNumber;
    { Published declarations }
  end;
procedure Register;
implementation
function tnumberedit.GetNumber:integer;
begin
result:=StrToInt(text);
end;
procedure tnumberEdit.SetNumber(value:integer);
begin
 text:=inttostr(value);
end;
constructor TNumberEdit.Create(AOwner: TComponent);
begin
inherited Create(AOwner);
OnKeyPress:=cambia;
Text:='0';
end;
procedure TNumberEdit.cambia(Sender: TObject; var Key: Char);
begin
if ((key>'9') or (key<'0')) and (key<>#8) and (key<>'-') then key:=#0;
end;
procedure Register;
begin
  RegisterComponents('MSX', [TNumberEdit]);
end;
end.

 wrote in message
news:001201c09396$20369780$b0732197@foderarotony...
