PDA

View Full Version : خاصیت tab و enter



sinas1386
پنج شنبه 28 شهریور 1387, 10:53 صبح
چه جوری میشه در هنگام ورود اطلاعات tab را غیر فعال و دکمه enter را فعال کرد یعنی با این دکمه به فیلد بعدی بریم

Loveski
پنج شنبه 28 شهریور 1387, 11:10 صبح
برای اینکه بتونی از Enter استفاده کنی می تونی از تابع زیر استفاده کنی .

Procedure SelectNext(CurControl: TWidgetControl; GoForward, CheckTabStop: Boolean)

delphiprog3000
پنج شنبه 28 شهریور 1387, 11:20 صبح
چه جوری میشه در هنگام ورود اطلاعات tab را غیر فعال و دکمه enter را فعال کرد یعنی با این دکمه به فیلد بعدی بریم

دوست گرامی با قرار دادن این کد در رویداد Onkeypress ادیت مورد نظر میتوانید به عنصر بعدی مراجعه نمایید.

به این صورت که اگر کارکتر دکمه اینتر زده شد به عنصر بعد میرود.

در این رویه تعریف میکنید که اگر چه کلیدی زده شده مقدار خاصی نداشته باشد.



procedure OnlyNum(var Ch:Char);
begin
if Not (Ch in ['0'..'9',#13,#8,#44,#45]) then
Ch:=#0;
end;



شما میتوانید کد اسکی تب را در این قسمت قرار دهید تا غیر فعال شود.

در این قسمت این کد را هم در رویداد Onkeypress ادیت خود قرار دهید.



if (sender=Edit1) then
OnlyNum(key);
if (key=#13) then
SelectNext(activecontrol,true,true);



که کد اینتر به جای tab عمل میکند.



موفق باشید.......

ENG_COM1979
سه شنبه 02 مهر 1387, 08:30 صبح
if key=#13 then
begin
edit2.setfocus;
key:=#0;
end;
کد بالا رو توی on key press آیتم مورد نظر بنویسید ، با فشردن دکمه اینتر روی Edit2 قرار می گیره این کد رو برای تمام آیتمهای موجود در فرم برنامه مورد نظر باید بنویسی.

a_mosavian
شنبه 03 اردیبهشت 1390, 21:11 عصر
لطفا مردم رو گمراه نکنید!
دوراه دارید:
1- استفاده از کمپوننت JvEnterAsTab
2- کد زیر در روال OnKeyPress فرم به کار گرفته و خاصیت KeyPreview در فرم را روی True تنظیم کنید
if (Key=#13) then
Key:=#9;

jst
یک شنبه 04 اردیبهشت 1390, 07:11 صبح
من چند سال است که از کد زیر استفاده می کنم . در این کد با زدن enter به عنصر بعدی و با زدن esc به عنصر قبلی بر می گردیم
procedure THForm1_1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
if Key=#13 then
begin
Key:=#0;
PostMessage(Handle,WM_NEXTDLGCTL,0,0);
end;
if Key=#27 then
begin
Key:=#0;
PostMessage(Handle,WM_NEXTDLGCTL,1,0);
end;

end;

nilidelphi
یک شنبه 04 اردیبهشت 1390, 16:09 عصر
دوست عزیز jst کد های مورد نظرتون رو در بلوک کد قرار بدین تا خوانا تر باشد.
راستی کدی که ایشون گذاشتن کامتره از بقیه.


procedure THForm1_1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
if Key=#13 then
begin
Key:=#0;
PostMessage(Handle,WM_NEXTDLGCTL,0,0);
end;
if Key=#27 then
begin
Key:=#0;
PostMessage(Handle,WM_NEXTDLGCTL,1,0);
end;

end;

Felony
یک شنبه 04 اردیبهشت 1390, 22:52 عصر
قبل از زدن تاپیک جست و جو کنید ، در پست شماره 9 تاپیک زیر جواب سوالتون رو دادم :
http://barnamenevis.org/showthread.php?276032-%D8%B1%D9%88%DB%8C%D8%AF%D8%A7%D8%AF-%D8%A8%D8%B1%D8%A7%DB%8C-%D9%81%D8%B4%D8%B1%D8%AF%D9%86-%D8%AF%DA%A9%D9%85%D9%87

K.Mohammadreza
دوشنبه 05 اردیبهشت 1390, 19:20 عصر
if Key = #13 then
begin
Key := #0;
Perform(WM_NEXTDLGCTL, 0, 0)
end;