ورود

View Full Version : جایگزینی اینتر به جای tab



iman_Delphi
چهارشنبه 28 دی 1390, 12:33 عصر
با سلام
من میخوام توی کل برنامم از اینتر به جا تب استفاده کنم.

تعداد 200 -300 تا فرم دارم - از کامپوننت های خود دلفی بیشتر استفاده کردم نه tms, devexpress,......
حالا یه راهی پیشنهاد کنید که مناسب باشه و کمترین کد نویسی رو داشته باشه.

در ضمن آیا کامپوننتی برای این کار هست؟

ActionList بعضی از دکمه ها رو نداره و گیج میزنه. مثلا" arrow key ,.... و یه مقدار هم کار کردن باهاش سخته - مثلا" دکمه غیر فعاله اما متد رو فراخوانی میکنه....

همچنین روی button میرسم با اینتر کار نکه و با اسپیس باید کارکنه .... :گریه:

delphi 2010e:اشتباه:

baratiebi
چهارشنبه 28 دی 1390, 12:59 عصر
در رویداد key down هر عنصری این کد if key = vk_return then
keybd_event(9,0,0,0); را بنویس مانند
procedure TForm15.edt1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if key = vk_return then
keybd_event(9,0,0,0);
end;

Mahdi_S_T
چهارشنبه 28 دی 1390, 13:34 عصر
برای کدنویسی کمتر بهتره از این کد استفاده کنی ، درضمن خاصیت Keypreview فرم را True کن :

procedure TForm1.FormKeyPress(Sender: TObject; var Key: Char);
begin
if key=#13 then begin
key:=#0;
SendMessage(Handle,WM_NEXTDLGCTL,0,0);
end;
end;

iman_Delphi
چهارشنبه 28 دی 1390, 16:13 عصر
متشکرم

برای کدنویسی کمتر بهتره از این کد استفاده کنی ، درضمن خاصیت Keypreview فرم را True کن :


در رویداد key down هر عنصری این کد if key = vk_return then

اما مثل اینکه دقت نکردید عرض کردم
تعداد 200 -300 تا فرم دارم
تقریبا" چیزی که بالا نوشتید باید 300 بار تکرار بشه.

حالا تازه اگه بخوام برای همه کامپوننت ها رویداد key down رو صدا کنم دست کم 10* 300= 3000* 60 = 180000 << میشه به عبارتی 50 ساعت کار واقعی

لطفا" پیشنهاد شیرین تر ارائه کنید.
در سورس یونیت فرم میشه یه کارایی کرد اما نمی دونم کجاش این کار رو کنم

Alaleh
یک شنبه 02 بهمن 1390, 16:49 عصر
از این کامپوننت استفاده کنید
و فقط اونو روی هر فرم قرار بدین
http://www.mediafire.com/?ucn63gunsd3vjo4

balabalaha
پنج شنبه 22 تیر 1391, 17:30 عصر
میشه به C# توضیح بدین؟

Vahid.Shatery
پنج شنبه 22 تیر 1391, 23:48 عصر
سوالات C# را در قسمت مربوط به C# سایت بپرسید.

mojtabaghanbary
پنج شنبه 19 مرداد 1391, 16:55 عصر
از کد زیر در رویداد KeyPress کنترلها میتونی استفاده کنی ، البته این کد توانایی شناسایی Shift+Tab برای حرکت به عقب رو هم داره


If Key = #13 Then Begin
If HiWord(GetKeyState(VK_SHIFT)) <> 0 then
SelectNext(Sender as TWinControl,False,True)
else
SelectNext(Sender as TWinControl,True,True) ;
Key := #0
end;

سعید صابری
پنج شنبه 19 مرداد 1391, 17:39 عصر
از کامپوننت enterastab از مجموعه رایگان jvcl استفاده کنید
کد نویسی هم نداره

soroush_vs
چهارشنبه 25 مرداد 1391, 00:04 صبح
برای این کار باید یه کامپوننت بنویسسید که بتونه خودش این کارو انجام بده
یه کامپوننت به عنوان مثال نوشتم که اتچ کردم میتونید سورسش رو ببینید یا آماده ازش استفاده کنید
بعد از نصب پکچ کامپوننت جدید به تب Standards اضافه میشه