با سلام به تمامی ویبی کارها
آقا من یه سوال داشتم این که چطوری میشه
مثلآ وقتی یه دکمه a رو زدی کامندهای روی فرم زده بشند
دقیقآ کار مآوس رو انجام بده
دمتون گرم
با سلام به تمامی ویبی کارها
آقا من یه سوال داشتم این که چطوری میشه
مثلآ وقتی یه دکمه a رو زدی کامندهای روی فرم زده بشند
دقیقآ کار مآوس رو انجام بده
دمتون گرم
ببین برای این کار به تابع key press فورم برو در اینجا هر وقت کلیدی زده بشه KeyAscii به تو داده می شه
KeyAscii کلید a فکر کنم 97 باشه
حالا با یه دستور if چک کن اگه KeyAscii مساوی با 97 باشه
call command1_click()
ببین وی بی در این مورد امکانات زیادی داره
1.هر جای برنامه هر وقت کلید مثلا a زده شد برنامه یک کاری رو انجام
2.فقط روی شیئی خاص وقتی کلید a زده شد برنامه عملی رو انجام بده
3.در هر شیئی وقتی کلید a زده شد برنامه کار مجزایی انجام بده
4.هر جای ویندوز کلید a زده شد برنامه عمل خاصی رو انجام بده(حتی اگر فوکوس روی برنامه نبود)
گزینه 2 و 3 تقریبا یکی هستن
برای گزینه اول:
باید مشخصه KeyPreview فرم رو با مقدار True قرار بدی:
بعد توی گزینه key press فرم شرطی رو که دوست عزیز vb_lord_AR گفتن رو چک کنی
حالا یا با If یا با Select case
الان فیلمش شروع شد بعدا بقیش رو تایپ می کنم![]()
خوب فیلمش تموم شد
برای بدست آوردن Keyasci دکه های کیبورد هم می تونی از کد زیر استفاده کنی:
البته روش راحتترش اینه که به جای اینکه کی اسکی رو چک کنی کاراکتر اسکی رو چک کنیکد:برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
فرقش هم اینه:
چک کردن کی اسکی:
و اینم چک کردن کاراکتر:کد:برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
خوبی روش دوم اینه که نمی خواد کد سکی همه کاراکتر ها رو حفظ کنیکد:برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
البته برای اینکه نخواد همه رو حفظ کنی می تونی از روش اول استفاده کنی ولی به جای شماره از ثابت های ویبی استفاده کنی منظورم اینه:
ولی خوب اینجوری مشکلاتی داره که مثلا حرف های کوچک رو وی بی ندارهکد:برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
اما برای اینکه فقط روی شیئی خاص وقتی کلیدی رو می زنی کاری صورت بگیره باید مشخصه KeyPreview فرمت رو False مقدار دهی کنی و در قسمت Keypress همون شیئی که می خوای کد رو بنویسی
و برای اینکه هر جای ویندوز کلیدی رو زدی برنامه بفهمه باید از Api استفاده کنی که اگه خواستی سرچ کن تو فروم هست
نکته
در گزینه Keypress فرم و شی ها بعضی دکمه ها کارایی ندارن مثل دکمه های جهت نما کلید های F و ...
که اگر می خوای از اینها هم استفاده کنی بهتره از گزینه Form_KeyDown یا Form_Keyup استفاده کنی که همه دکمه ها رو میشناسه و کدنویسیش هم تقریبا شبیه همون قلیست ولی فقط می تونی از گزینه اول استفاده کنی منظورم کد هست باید از کد زیر استفاده کنی:
با کد زیر هم می تونی کد هر کلید رو پیدا کنی:کد:برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
اما اشکالی که اینجا باز داری اینه که نمی تونی کلید های ترکیبی رو تشخیص بدی منظورم مثلا:کد:برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
Ctrl + a هست که در قسمت Keypress همچین چیزی امکان داره
ولی باز توی Keypress نمیشه ctrl تنها رو تشخیص داد که اینجا میشه
اگه می بینی اینقدر توضیح دادم برای اینه که خوب بفهمی و مثل من سر در گم نشی آخه خودم وقتی معلممون اینا رو توضیخ داد خیلی گیج شدم
واسه همین یک جوری برات توضیح دادم که همش رو بفهمی
البته توی Keydown هم میشه کلید های کنترل و شیفت و اینا رو تشخیص داد ولی سخت تره و باید از متغیر Shift استفاده کنی![]()
هم اکنون 1 کاربر در حال مشاهده این تاپیک میباشد. (0 کاربر عضو شده و 1 مهمان)