اجرای کامن باتن

Collapse
X
 
  • زمان
  • نمایش
حذف همه
new posts
  • sohrabahmadi

    • 2012/05/03
    • 142
    • 35.00

    اجرای کامن باتن

    با سلام به اساتید و دوستان گرامی .یه یوزرفرم داریم که شامل چند کامندباتن هست .آیا راهکاری هست که به ازای هر باتن یه دکمه تو کیبرد تعریف کرد که با فشردن دکمه مربوطه ، باتن تعریف شده برای اون دکمه اجرا بشه ؟ ممنون میشم از دوستان اگه راهنماییم کنند.
    [b][color=#6B8E23]تو خشنود باشی و ما رستگار[/color][/b]
  • s.cheraghi

    • 2011/02/27
    • 311

    #2
    برای این کار سه راه دارین:
    1- تعیین خاصیت Cancel
    این خاصیت برای یک دکمه در فرم برابر با true قرار داده میشه و با زدن دکمه ESC، دکمه مربوطه فعال میشه (معمولا این خاصیت برای دکه لغو یا Cancel استفاده میشه)
    2- تعیین خاصیت Default
    این خاصیت نیز برای یک دکمه در فرم برابر با true درنظر گرفته میشه و با زدن دکمه Enter فعال میشه ( معمولا این خاصیت نیز برای دکمه تأیید یا OK استفاده میشه)
    3- استفاده از خاصیت Accelerator
    شما میتونین در این خاصیت هر یک از حروف کیبورد رو انتخاب کنید (معمولا حرف اول مقدار خاصیت Caption درنظر گرفته میشه) و در هنگام اجرای فرم با استفاده از ترکیب دکمه های Alt و حرف تعیین شده، دکمه مورد نظر فعال میشود.
    در یادگیری سیر نشوید :idea:

    برای ارتباط بیشتر به [URL="https://excelpedia.net/"]سایت[/URL] [URL="https://excelpedia.net"][B][COLOR=#008000]ExcelPedia [/COLOR][/B][/URL]سربزنید.
    برگزاری [URL="https://excelpedia.net/excel-ninja/"]دوره های آموزش[/URL] [URL="https://excelpedia.net/what-is-excel/"][B]اکسل [/B][/URL]در تهران
    [URL="https://excelpedia.net/category/excel-functions/"][B]آموزش توابع اکسل[/B][/URL]

    کامنت

    • Haji hadi

      • 2013/09/21
      • 27

      #3
      با سلام
      آیا امکانش هست بدون استفاده از ALT این کار را کرد
      برفرض مثال یک ماشین حساب با اعداد 0 تا 9 را در نظر بگیرید
      و بازدن هر شماره از Keybord (بدون نگه داشتن ALT) آن عدد در TexBox نوشته شود.
      با تشکر

      کامنت

      • s.cheraghi

        • 2011/02/27
        • 311

        #4
        بله این امکان وجود داره اما به صورت آماده در خصوصیات کنترل ها وجود نداره و باید کدش بنویسید.
        من دو راه برای این کار میدونم که در فایل های زیر قرار دادم
        نکته این کار در استفاده از رویداد KeyDown و KeyUp هست که به شما فرصت شناسایی دکمه های فشرده شده رو میده
        در یکی از این روشها از تابع API با نام GetKeyState استفاده شده که در کتابخانه های ویندوز قرار داره و مربوط به VBA نیست. با استفاده از این تابع امکان تعیین دکمه فشرده شده وجود داره
        راه دیگه استفاده از آرگومان های رویداد KeyDown یا KeyUp هست که یک آرگومان با نام KeyCode داره و مقدار عددی مربوط به دکمه فشرده شده رو در خودش ذخیره مکینه
        تذکر:
        در صورتیکه که یوزرفرم شما دارای کنترل باشه از این رویداد ها نمیتونین استفاده کنین و دلیل هم TabStop هست( یکی از خصوصیات کنترل است) برای کار کردن این رویداد باید این خاصیت رو برای تمام کنترل های یوزرفرمتون False کنید.
        در آخر هم اون مثال ماشین حساب براتون قرار دادم که کاملا روشن بشه
        فایل های پیوست شده
        در یادگیری سیر نشوید :idea:

        برای ارتباط بیشتر به [URL="https://excelpedia.net/"]سایت[/URL] [URL="https://excelpedia.net"][B][COLOR=#008000]ExcelPedia [/COLOR][/B][/URL]سربزنید.
        برگزاری [URL="https://excelpedia.net/excel-ninja/"]دوره های آموزش[/URL] [URL="https://excelpedia.net/what-is-excel/"][B]اکسل [/B][/URL]در تهران
        [URL="https://excelpedia.net/category/excel-functions/"][B]آموزش توابع اکسل[/B][/URL]

        کامنت

        • sohrabahmadi

          • 2012/05/03
          • 142
          • 35.00

          #5
          با سلام و تشکر از آقای چراغی بابت راهنمایی و مثالهای خوبشون.درمورد مثال ماشین حساب ، اعداد سمت راست کیبورد رو نمیشناسه .این مربوط به تنظیمات کامپیوتره یا اینکه باید تعریف دیگه ای واسش کرد؟ممنون میشم اگه توضیح بفرمایین
          [b][color=#6B8E23]تو خشنود باشی و ما رستگار[/color][/b]

          کامنت

          • s.cheraghi

            • 2011/02/27
            • 311

            #6
            سلام
            خیر از تنظیمات کامپیوتر نیست، با توجه به اینکه دکمه های عدد بالای دکمه های حروف، با متغیرهای ثابت با مقدار Vbkey شروع می شوند ( به عنوان مثال عدد 0 به صورت VbKey0 درنظر گرفته شده است) دکمه قسمت راست کیبورد به صورت دیگر تعریف شده اند ( به عنوان مثال عدد صفر به صورت vbKeyNumpad0 تعریف شده است)
            شما میتونین در قسمت Select با اضافه نمودن این متغیرها، از کلیدهای سمت راست هم استفاده کنین.
            در یادگیری سیر نشوید :idea:

            برای ارتباط بیشتر به [URL="https://excelpedia.net/"]سایت[/URL] [URL="https://excelpedia.net"][B][COLOR=#008000]ExcelPedia [/COLOR][/B][/URL]سربزنید.
            برگزاری [URL="https://excelpedia.net/excel-ninja/"]دوره های آموزش[/URL] [URL="https://excelpedia.net/what-is-excel/"][B]اکسل [/B][/URL]در تهران
            [URL="https://excelpedia.net/category/excel-functions/"][B]آموزش توابع اکسل[/B][/URL]

            کامنت

            چند لحظه..