PDA

View Full Version : مسئله Hot key



reza_optical
سه شنبه 28 خرداد 1387, 16:17 عصر
یه مورد در یکی از برنامه ها به وجود اومد که مجبور به استفاده از Hot key شدم همان ...+Ctrl یا ...+shift و یا ...+ َAlt
یه گشت و گذاری در برنامه نویس زدم چیزی گیرم نیومد فکر کردم مسئله رو حلش کنیم بهتره
البته این مسئله واسه اساتید نیست ها واسه مثل من هاست :لبخندساده:
نوع اول :
در وحله اول خاصیت keypreview فرم را true کنید و در قسمت Form_keydown میتونین از shift استفاده کنید که اگر Shift برابر 2 باشه Ctrl اگه برابر 1 باشه دگمه Shift و اگر برابر 4 باشه Alt خوب بقیش راحته ...
نوع دوم :
استفاده از Api که از این GetAsyncKeyState استفاده میکنیم که دگمه ای که زده شده رو برمیگردونه خوب کد زیرو میشه بعد از true کردن keypreview اجرا کرد
Private Declare Function GetAsyncKeyState Lib "user32" (ByVal vKey As Long) As Integer
If GetAsyncKeyState(vbKeyControl) And GetAsyncKeyState(vbKeyF1) Then Call Cmd_Click
نوع سوم :
که ابتدایی هست یه منو بساز به هش hot Key بده بعد visible رو false کن و بعد ....
سر بلند و سرفراز باشید

Mbt925
چهارشنبه 29 خرداد 1387, 13:38 عصر
نمونه های زیادی در این باره معرفی شده.

میانبرها دو سطح دارن :

1. در سطح برنامه
2. در سطح سیستم عامل

روش هایی که شما گفتی برای ایجاد میانبر در سطح برنامه هست (سطح 1) که بهش میگن Shortcut و
HotKey به میانبرهایی که در سطح سیستم عامل عمل می کنن گفته میشه که نمونه های زیادی توی سایت در این باره معرفی شده.

reza_optical
چهارشنبه 29 خرداد 1387, 15:19 عصر
نمونه های زیادی در این باره معرفی شده.

میانبرها دو سطح دارن :

1. در سطح برنامه
2. در سطح سیستم عامل

روش هایی که شما گفتی برای ایجاد میانبر در سطح برنامه هست (سطح 1) که بهش میگن Shortcut و
HotKey به میانبرهایی که در سطح سیستم عامل عمل می کنن گفته میشه که نمونه های زیادی توی سایت در این باره معرفی شده.

خوب دوست عزیز بالا یه Api هم مثال زدم که این هم در سطح سیستم عامله که میتونه Hotkey هم باشه یا نه ؟

__siavash__
چهارشنبه 29 خرداد 1387, 16:13 عصر
خوب دوست عزیز بالا یه Api هم مثال زدم که این هم در سطح سیستم عامله که میتونه Hotkey هم باشه یا نه ؟

این API که شما معرفی کردید وضعیت بالا یا پایین بودن یه کلید رو هنگامی که تابع فراخوانی میشه چک میکنه

API مربوطه RegisterHotKey