Cara, tenta usar o SelectNext e passa como parâmetro Screen.activecontrol
Procure no Help eu não lembro os parâmetros de cabeça. []'s De: delphi-br@yahoogrupos.com.br [mailto:[EMAIL PROTECTED] Em nome de Anderson Enviada em: quinta-feira, 12 de julho de 2007 15:11 Para: delphi-br@yahoogrupos.com.br Assunto: [delphi-br] Re: Enter pelo Tab não dá certo continua na mesma... o perform ele não executa... Algúém entende o pq ? --- Em delphi-br@yahoogrupos.com.br <mailto:delphi-br%40yahoogrupos.com.br> , "Anderson" <[EMAIL PROTECTED]> escreveu > > Faltou isto aqui > key := #0; > > Ficando desta maneira > if key=#13 then > begin > ShowMessage('Teste'); > Key := #0; > perform(wm_nextdlgctl,0,0); > key:=#0; > end; > > ----- Original Message ----- > From: Anderson > To: delphi-br@yahoogrupos.com.br <mailto:delphi-br%40yahoogrupos.com.br> > Sent: Thursday, July 12, 2007 2:21 PM > Subject: [delphi-br] Enter pelo Tab não dá certo > > > galera, abaixo está o fonte de um componente edit que estou fazendo. > O enter pelo tab não funciona nele. Gostaria que alguém pudesse me > auxiliar nele pois no keypress eu coloquei assim: > > o show messase é exeuctado mas o perform não acontece nada > > if key=#13 then > begin > ShowMessage('Teste'); > perform(wm_nextdlgctl,0,0); > key:=#0; > end; > > o fonte tá ai, meu msn é [EMAIL PROTECTED] (meu e-mail tb) > > aguardo auxilio e deste já agradeço > > unit EditPlus; > > interface > > uses > Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, > Dialogs, > StdCtrls, Mask; > > type > TDataType = (Numero,Cpf,Telefone,CEP,CNPJ,Data,Texto); > TEditPlus = class(TEdit) > private > { Private declarations } > FDataType:TDataType; > Procedure SetDataType(Const Value:TDataType); > protected > { Protected declarations } > Procedure KeyPress(Var key:char); override; > procedure WMSetFocus( var message: TMessage ); message > WM_SetFocus; > procedure WMKillFocus( var message: TMessage ); message > WM_KillFocus; > public > { Public declarations } > Constructor Create(Aowner:TComponent);Override; > Destructor Destroy; Override; > published > { Published declarations } > Property DataType :TDataType read FDataType Write SetDataType; > Property DataTipe :TDataType read FDataType Write SetDataType; > end; > > procedure Register; > > implementation > > procedure Register; > begin > RegisterComponents('Standart', [TEditPlus]); > end; > > procedure TEditPlus.SetDataType; > begin > if FDataType <> value then > FDataType := Value; > end; > > procedure TEditPlus.KeyPress; > begin > If FDataType = Numero Then > Begin > if Key in [',','.'] then key:=DecimalSeparator; > if key=DecimalSeparator then > begin > if pos(Key,Text) = 0 then > key:=Key > else > Key:=#0; > end; > If not (Key in > ['0'..'9',#8,#22,#13,#5,#19,#24,#4,#1,#6,#7,#9,#127,DecimalSeparator]) > Then Key := #0; > end; > if key=#13 then > begin > ShowMessage('Teste'); > SelectNext(ActiveControl,True,True); > key:=#0; > end; > end; > > Constructor TEditPlus.Create; > begin > inherited Create(Aowner); > BorderStyle:=bsNone; > Height:=13; > Color:=clBtnFace; > end; > > Destructor TEditPlus.Destroy; > begin > Inherited Destroy; > end; > > procedure TEditPlus.WMSetFocus( var message: TMessage ); > begin > Color:=clWhite; > inherited; > end; > > procedure TEditPlus.WMKillFocus( var message: TMessage ); > begin > Color:=clBtnFace; > inherited; > end; > > end. > > > > > > [As partes desta mensagem que não continham texto foram removidas] > [As partes desta mensagem que não continham texto foram removidas]