PDA

View Full Version : dbedit and فارسی



faty
سه شنبه 26 آبان 1383, 09:29 صبح
سلام
:sorry: شرمنده نتونستم جیزی پیدا کنم پروژه ام در خطره اگه براتون مشکلی نداره لطف کنین و جوابمو بدین

چه طوری می شه با enter از یک dbedit به dbedit بعدی رفت؟
اگه سوالام تکرارین منو ببخشین آخه تازه واردم

مجتبی حسینی
سه شنبه 26 آبان 1383, 14:19 عصر
procedure TForm1.DBEdit1KeyPress(Sender: TObject; var Key: Char);
begin
if key = #13 then
DBEdit2.SetFocus;
end;

-دلفی دوست-
سه شنبه 26 آبان 1383, 17:58 عصر
کد زیر عمومی تره و برای همه کنترلها کاربرد داره:

procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
if Key = Char(VK_RETURN) then
begin
Key := #0;
PostMessage(Handle, WM_NEXTDLGCTL, 0, 0);
end;
end;


1- Key := #0 برای اینه که ویندوز بوق نزنه
2- ( ... )PostMessage هم فوکوس رو به کنترل بعدی منتقل میکنه .(کنترل بعدی هر چی باشه فرقی نداره.)

-------------------------------------
موفق باشید!

Delphi KDE
چهارشنبه 27 آبان 1383, 02:42 صبح
اگر از کد "دلفی دوست" استفاده میکنی باید شماره TabOrder کنترل بعدی که میخواهید Focus را بگیرد باید بلا فاصله بعد از شماره TabOrderکنتری جاری باشد

MiRHaDi
پنج شنبه 28 آبان 1383, 01:20 صبح
سلام
میتونی هم از SetFocuseControl استفاده کنی ! ولی از نظر کلی با دستور قبلی خیلی فرقی نداره
بای

Mohsen_4194
پنج شنبه 28 آبان 1383, 19:51 عصر
شبیه همون کد بالایی رو میتونی تو OnShortcut فرمت قرار بدی . فکر کنم بهتره.
به جای دو خط زیر

Key := #0;
PostMessage(Handle, WM_NEXTDLGCTL, 0, 0
هم میتونی بنویسی

Key := #9;
البته اونجا باید از Msg.CharCode استفاده کنی.