PDA

View Full Version : سوال: کد اسکی کلید menu در صفحه کلید



1072300
یک شنبه 23 مهر 1391, 21:02 عصر
کد اسکی کلید menu در صفحه کلید (همان کلیدی که زمانی که فشار می دهیم رویداد PopupMenu فرا خوانی می شود.
برای مثال کلید A برابر است بابا VK_A = $41

mohsen24000
یک شنبه 23 مهر 1391, 22:37 عصر
کدش 93 است.

1072300
دوشنبه 24 مهر 1391, 22:06 عصر
سپاس
به مثال بنده توجه کن علاوه بر کد اسکی نامش را هم می خواهم مثل کلید A که برابر است با VK_A = $41

BORHAN TEC
دوشنبه 24 مهر 1391, 22:18 عصر
نامش اینه:
VK_APPS

mohsen24000
دوشنبه 24 مهر 1391, 22:18 عصر
به مثال بنده توجه کن علاوه بر کد اسکی نامش را هم می خواهم مثل کلید A که برابر است با VK_A = $41
اون VK_A که می گید در اصل همون کد 41 در مبنای 16ست، که به صورت ثبات VK_A تعریف شده و چه بنویسید 41$ یا VK_A فرقی نمی کنه.
به همین منظور برای استفاده از کد 93 می تونید از مبنای اون در 16 استفاده کنید: 5D$ استفاده کنید. حالا اگه خیلی علاقه به عبارات اختصاری دارید اون رو در یک Const تعریف کنید.
برای مثال ;Const VK_PopMenu=$5D

Ananas
سه شنبه 25 مهر 1391, 00:22 صبح
کد اسکی کاراکتر ها رو می تونید بدون نوشتن عدد به شکل دستی و همچنین داشتن کدی خواناتر به شکل زیر استفاده کنید :

Word('A')

مثال دیگه :

case X of
Word('A') : ;
Word('S') : ;
Word('D') : ;
end;

1072300
چهارشنبه 26 مهر 1391, 21:13 عصر
قصدم نوشتن یک شرط ساده است که اگر کلید VK_PopMenu فشرده شد رویدادی انجام شود اما با راهنمایی های شما نتونستم بنویسم.

mohsen24000
چهارشنبه 26 مهر 1391, 22:01 عصر
این یک مثال:
procedure TForm2.FormKeyUp(Sender: TObject; var Key: Word; Shift: TShiftState);
begin
if Key=VK_APPS then ShowMessage('VK_APPS Pressed...');
end;

کجاش مشکل داره!؟

Felony
چهارشنبه 26 مهر 1391, 22:04 عصر
خصیصه KeyPreview مربوط به فرم برنامتون رو True کنید تا Event های مربوط به کلیدهای صفحه کلید مستقیم به کامپوننت های روی فرم ارسال نشن ، با این کار کامپوننت های روی فرم برنامه همچنان Event های مربوطه رو هندل میکنن ولی قبل از اون ها این رویدادها رو فرم برنامه هندل میکنه .