ورود

View Full Version : مبتدی: کلید میانبر



کامروا
یک شنبه 31 اردیبهشت 1391, 10:12 صبح
سلام

روی فرمم 5 تا دکمه دارم که میخوام به ترتیب از F2 .... F7 که زده میشه دکمه مورد نظر کلیک بشه.

باید جکار کنم؟

تشکر

shedayat
دوشنبه 01 خرداد 1391, 09:19 صبح
سلام.
یه راهش اینه که از Action List اسفاده بکنی و دستوراتت رو داخل اون بنویسی و خاصیت ShrortCut برای هر Action رو به کلید مورد نظرت نسبت بدی.
و راه دیگهش اینه که توی KeyDown فرم بنویسی که مثلا فلان دکمه فشرده شده فلان روال رو صدا بزن. مثل این:
procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if Key = VK_f2 then
Button1(Sender)
end;
فقط یادت نره که باید خاصیت KeyPreview فرم رو برابر True قرار بدی.

البته شاید راه های ساده تری هم وجود داشته باشه. ولی من همین دو راه حل به ذهنم می رسه.
موفق باشی :)

بهروز عباسی
چهارشنبه 03 خرداد 1391, 00:24 صبح
سلام.
یه راهش اینه که از Action List اسفاده بکنی و دستوراتت رو داخل اون بنویسی و خاصیت ShrortCut برای هر Action رو به کلید مورد نظرت نسبت بدی.
و راه دیگهش اینه که توی KeyDown فرم بنویسی که مثلا فلان دکمه فشرده شده فلان روال رو صدا بزن. مثل این:
procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if Key = VK_f2 then
Button1(Sender)
end;
فقط یادت نره که باید خاصیت KeyPreview فرم رو برابر True قرار بدی.

البته شاید راه های ساده تری هم وجود داشته باشه. ولی من همین دو راه حل به ذهنم می رسه.
موفق باشی :)

به نظر من باید برنامه باید روی ورودی کیبرد هوک کنه مثل بابیلون که با زدن کلید F10 سریع اجرا میشه
این راهی که شما گفتی کار میکنه اما فکر نکنم درصورتی که برنامه دیگه ای روی اون کلید مورد نظرتون هوک کرده باشه جواب بده(الان دلفی ندارم تست کنم)

موفق باشید.