PDA

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



Mask
دوشنبه 27 آبان 1387, 00:21 صبح
با سلام
من می خام از کلید های مثلا F1,F2 که در ویندوز وظایفی رو دارند در برنامم استفاده کنم و با زدن این کلیدها وظایف تعریف شده ویندوزی اجرا نشود و دستوراتی رو که من بهش می دم اجرا کنه.
چطوری باید تک کلید رو در بر نامه معرفی کنم؟
با تشکر.

vcldeveloper
دوشنبه 27 آبان 1387, 02:01 صبح
برای HotKeyهای معمولی -> RegisterHotKey
برای موارد خاص مثل این -> Hook کردن صفحه کلید.

Mask
دوشنبه 27 آبان 1387, 02:55 صبح
یه مقدار بیشتر توضیح بدید.
نمی دونم چرا تمام سوالات به هوک کردن ختم میشه.
من فقط می خام وقتی کلید F1 رو واخل برنامم زدم مثلا فرم ثبت کاربر نمایش داده بشه.
ممنون از توجهتون.

vcldeveloper
دوشنبه 27 آبان 1387, 03:02 صبح
اگر فقط در سطح برنامه میخواید این کار را انجام بدید، نه در سطح کل سیستم، می تونید یا براش یک Action تعریف کنید و به آن Action یک Shortcut اختصاص بدید، یا براش یک گزینه منو تعریف کنید و به آن یک Shortcut اختصاص بدید، یا براش کدی در OnKeyDown فرمتان بنویسید، و مقدار KeyPreview فرمتان را True کنید.

Mask
دوشنبه 27 آبان 1387, 03:07 صبح
ممنون
یه سوال دیگه اگه مثلا کلید F3 رو برای نمایش یکی از فرمهام تو برنامه انتخاب کنم و با دانستن اینکه کلید F3 در ویندوز وظیفه سرچ رو داره آیا تداخلی ایجاد نمیشه و همچنین ویندوز وظیفه تعریف شده برنامه من رو برای این کلید انجام میده یا پنجره سرچ رو باز می کنه.

SYNDROME
دوشنبه 27 آبان 1387, 06:19 صبح
ممنون
یه سوال دیگه اگه مثلا کلید F3 رو برای نمایش یکی از فرمهام تو برنامه انتخاب کنم و با دانستن اینکه کلید F3 در ویندوز وظیفه سرچ رو داره آیا تداخلی ایجاد نمیشه و همچنین ویندوز وظیفه تعریف شده برنامه من رو برای این کلید انجام میده یا پنجره سرچ رو باز می کنه.
هیچ اشکالی به وجود نمی آید.
بهتر است امتحان کنید تا بهتر متوجه شوید.
موفق باشید

امید امرایی
دوشنبه 27 آبان 1387, 09:58 صبح
هیچ اشکالی به وجود نمی آید.
بهتر است امتحان کنید تا بهتر متوجه شوید.
موفق باشید

جسارتا بنده فكرمي كنم در مواردي كه اين كليد ها توسط نرم افزار هاي ديگه اي هم استفاده شده باشند اختلال ايجاد مي شه .
به عنوان مثال برنامه Babylon با كليد F10 اجرا مي شه و در اين مورد اولويت اجرا هم به Babylon داده مي شه .

vcldeveloper
دوشنبه 27 آبان 1387, 17:29 عصر
بنده فكرمي كنم در مواردي كه اين كليد ها توسط نرم افزار هاي ديگه اي هم استفاده شده باشند اختلال ايجاد مي شه .
به عنوان مثال برنامه Babylon با كليد F10 اجرا مي شه و در اين مورد اولويت اجرا هم به Babylon داده مي شه .
بستگی به برنامه داره. Babylon با هوک کردن صفحه کلید بصورت Global قبل از اینکه کد مربوطه به برنامه برسه، خودش را فعال میکنه. یعنی فرصت رسیدن کد کلید به برنامه را از آن میگیره. Shortcutهایی که در ویندوز تعریف شدند همچین عملکردی ندارند.