Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.06.11;
Скачать: CL | DM;

Вниз

Срочно нужна помощь!   Найти похожие ветки 

 
Adolf ©   (2006-05-22 00:58) [0]

Люди, срочна нужна помощь в Делфи!Есть к примеру 10 компонентов EDIT я в них поставил максимальную длинну строки в один символ, а теперь мне нидо написать функчию "чтото типо автотаба" чтоб при заполнении одного компонента курсор автоматом переходил на на другой компонент!Заране спасибо!


 
DevilDevil ©   (2006-05-22 01:15) [1]

попробуй:
// TEdit.OnKeyPress
begin
SendMessage(Self.Handle, WM_CHAR, 9, 0);
end;


 
Elen ©   (2006-05-22 08:37) [2]

Попробуй эти Эдиты загнать в массив, тогда их будет легко контролировать.
Создай переменку в которую будет заноситься номер текушего Эдита и ты будеш знать на какой переходить потом


 
Elen ©   (2006-05-22 09:05) [3]

unit Unit1;

interface

uses
 Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
 Dialogs, ExtCtrls, StdCtrls;

type
 TForm1 = class(TForm)
   Edit1: TEdit;
   Edit2: TEdit;
   Edit3: TEdit;
   procedure FormCreate(Sender: TObject);
   procedure Edit2KeyPress(Sender: TObject; var Key: Char);
 private
   { Private declarations }
 public
   { Public declarations }
 end;
var  m:array[1..10] of tedit;
 Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
var k,i:byte;
begin k:=1;
for i :=0  to form1.ComponentCount -1   do
begin
  if form1.Components [i] is Tedit then begin
       m[k]:=tedit(form1.Components[i]);
       m[k].Tag:=k+1;
       inc(k);
  end;
end;
 m[k-1].Tag:=1;
end;

procedure TForm1.Edit2KeyPress(Sender: TObject; var Key: Char);
begin
if key=#13 then
begin
 m[tedit(sender).tag].SetFocus;
end;

end;

end.


Edit2KeyPress задаеш для всех Эдитов
По Энтеру будет выбираться следующий Эдит
С последнего Эдита будет перескок на первый


 
Adolf ©   (2006-05-22 09:21) [4]


> unit Unit1;
>
> interface
>
> uses
>  Windows, Messages, SysUtils, Variants, Classes, Graphics,
>  Controls, Forms,
>  Dialogs, ExtCtrls, StdCtrls;
>
> type
>  TForm1 = class(TForm)
>    Edit1: TEdit;
>    Edit2: TEdit;
>    Edit3: TEdit;
>    procedure FormCreate(Sender: TObject);
>    procedure Edit2KeyPress(Sender: TObject; var Key: Char);
>
>  private
>    { Private declarations }
>  public
>    { Public declarations }
>  end;
> var  m:array[1..10] of tedit;
>  Form1: TForm1;
>
> implementation
>
> {$R *.dfm}
>
> procedure TForm1.FormCreate(Sender: TObject);
> var k,i:byte;
> begin k:=1;
> for i :=0  to form1.ComponentCount -1   do
> begin
>   if form1.Components [i] is Tedit then begin
>        m[k]:=tedit(form1.Components[i]);
>        m[k].Tag:=k+1;
>        inc(k);
>   end;
> end;
>  m[k-1].Tag:=1;
> end;
>
> procedure TForm1.Edit2KeyPress(Sender: TObject; var Key:
>  Char);
> begin
> if key=#13 then
> begin
>  m[tedit(sender).tag].SetFocus;
> end;
>
> end;
>
> end.

Не совсем то! я эотел чтоб автоматом переходило а не при нахатии на интер! это равносильно тому что я на таб жму!


 
Elen ©   (2006-05-22 09:23) [5]

Автоматом при каком условии?


 
pavel_guzhanov ©   (2006-05-22 11:41) [6]

if length(Edit(i).text)=10 then
Edit(i+1).SetFocus


 
pavel_guzhanov ©   (2006-05-22 11:47) [7]


> if length(Edit(i).text)=10 then

извиняюсь, не 10, а 1


 
Плохиш ©   (2006-05-22 11:52) [8]


> Adolf ©   (22.05.06 00:58)


procedure TForm1.Edit1Change(Sender: TObject);
begin
 if Sender is TEdit then
   if Length(TEdit(Sender).Text) = 1 then
     self.Perform(WM_NEXTDLGCTL, 0, 0);
end;


 
Adolf ©   (2006-05-22 13:23) [9]


> procedure TForm1.Edit1Change(Sender: TObject);
> begin
>  if Sender is TEdit then
>    if Length(TEdit(Sender).Text) = 1 then
>      self.Perform(WM_NEXTDLGCTL, 0, 0);
> end;
>
> <Цитата>

спасибо помогло!



Страницы: 1 вся ветка

Текущий архив: 2006.06.11;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.058 c
11-1127963073
dvk
2005-09-29 07:04
2006.06.11
TKOLPanel.Font.Color не меняется


1-1146844311
Teddy24
2006-05-05 19:51
2006.06.11
Подключение к сетевому ресурсу БД из Delphi


15-1147702628
Pazitron_Brain
2006-05-15 18:17
2006.06.11
Видео с фотоаппарата Nikon.


4-1136633780
workdisk450
2006-01-07 14:36
2006.06.11
Как использовать нестандартный шрифт, не устанавливая его?


6-1137494084
Volf_555
2006-01-17 13:34
2006.06.11
Как автоматически из моей программы входить в почтовик?