PDA

View Full Version : ساخت کیبورد مجازی مختص برنامه خودمان



HM2020
چهارشنبه 09 بهمن 1392, 01:08 صبح
سلام

چطور میشه یه کیبورد مجازی برای برنامه ای ک طراحی کردیم درست کنیم؟

باید چه چیزهایی رو در نظر بگیریم؟؟

چطور متوجه بشیم که فوکس تو هر تکست باکسی بوده کاراکتر وارد بشه؟؟

دوستان :متفکر:

behrooz69
چهارشنبه 09 بهمن 1392, 02:27 صبح
دوست من نیاز به این کار نیست . کامپاننت Dev Component خودش یه Virtual Keyboard داره که با فعال کردش میتونی ازش تو برنامه خودت استفاده کنی . مختص خود برنامت
http://barnamenevis.org/showthread.php?434682-%D8%A7%D8%B3%D8%AA%D9%81%D8%A7%D8%AF%D9%87-%D8%A7%D8%B2-%DA%A9%DB%8C%D8%A8%D9%88%D8%B1%D8%AF-%D9%85%D8%AC%D8%A7%D8%B2%DB%8C-%D9%88-%D9%84%D9%85%D8%B3%DB%8C-%D8%B2%DB%8C%D8%A8%D8%A7%DB%8C-%D9%88%DB%8C%D9%86%D8%AF%D9%88%D8%B2-8-%D8%AF%D8%B1-%D9%86%D8%B1%D9%85-%D8%A7%D9%81%D8%B2%D8%A7%D8%B1%D9%87%D8%A7%D9%85%D 9%88%D9%86

HM2020
چهارشنبه 09 بهمن 1392, 09:56 صبح
دوست من نیاز به این کار نیست . کامپاننت Dev Component خودش یه Virtual Keyboard داره که با فعال کردش میتونی ازش تو برنامه خودت استفاده کنی . مختص خود برنامت
http://barnamenevis.org/showthread.p...85%D9%88%D9%86

سلام

اولا با کامپوننت نمیخام.

ثانیا حروف فارسی رو ساپورت نمیکنه !

من میخام صفحه کلید مجاز تو مایه های خود ویندوز برای برنامه خودم یعنی مختص برنامه خودم باشه

درست کنم.

hosein320
چهارشنبه 09 بهمن 1392, 10:37 صبح
برای اینکه بدونی فوکوس تو کدوم تکست باکسته ی متغیر عمومی از نوع textbox تعریف کن و تو رویداد فوکوس تکست باکسات هم متغیر برابر با همون تکست باکس قرار بده
فرض میگیریم این متغیر عمومیت باشه
Dim T as textbox

sub T_Focus(sender as object , e as eventarges)
t=sender

و این هندلر رو به همه تکست باکسات اضافه کن
میتونی به این صورت عمل کنی (اگر همه تکست باکسات روی فرم هستن)
for each C as textbox in me.controls
addhandler C.focued , addressof T_Focus
next

HM2020
چهارشنبه 09 بهمن 1392, 13:48 عصر
برای اینکه بدونی فوکوس تو کدوم تکست باکسته ی متغیر عمومی از نوع textbox تعریف کن و تو رویداد فوکوس تکست باکسات هم متغیر برابر با همون تکست باکس قرار بده
فرض میگیریم این متغیر عمومیت باشه
1
Dim T as textbox

1
2
3
sub T_Focus(sender as object , e as eventarges)
t=sender

و این هندلر رو به همه تکست باکسات اضافه کن
میتونی به این صورت عمل کنی (اگر همه تکست باکسات روی فرم هستن)
for each C as textbox in me.controls
addhandler C.focued , addressof T_Focus
next


سلام این کدی که شما نوشتید برای فرمی که باز باشه و کاربر داره ازش استفاده میکنه به درد میره.

اصولا صفحه کلید یه فرم جدایی از برنامه هست

به طور مثال فرض کنید 3 فرم داریم که یکی از اونها رو برای صفحه کلید طراحی میکنیم

حالا اگه فرم 1 رو باز کنیم و اگه کاربر درخواست صفحه کلید رو بکنه ما بایستی فرمی را که برای صفحه کلید طراحی کردیم و فراخوانی کنیم

درسته ؟

اما کدی که شما نوشتید برای هر صفحه بایستی کلی کد نوشت و بدرد این قضیه نمیخوره

درسته ؟

قضیه ایجاست که به فرض صفحه کلید مجازی ویندوز چطور عمل میکنه ؟؟؟

زمانی که فرم صفحه کلید رو فراخوانی میکنم به طور مثال چطور فوکس رو تو اون فرمی که صفحه کلید فراخوانی شد در اون تکست باکس

متمرکز کنیم و مقدار را بهش پاس بدیم ؟؟؟؟؟؟؟؟؟

hosein320
چهارشنبه 09 بهمن 1392, 19:56 عصر
شما برای این میتونی اون متغیر رو درون یه ماژول تعریف کنی
فرض بر اینکه اسم ماژولتون Htext باشه

sub T_Focus(sender as object , e as eventarges)
Htext.t=sender
end sub