چطور میتونم کلید ترکیبی را خودم به یک کاراکتر بدم؟
کاربرد اصلی Charmap برای برنامه نویسان نیست، اما کمک شان می کند که ببینند یک فونت شامل چه Glyph هایی است و کاراکتر مورد نظرشان رو پیدا کنند
و کد Unicode آن را ببینند. دانستن کد Unicode برای برنامه شما مفید تر است تا Copy/Paste کردن کاراکتر.
اول تصمیم بگیرید که برای برنامه خودتان است یا برای کل ویندوز، چون سه درجه مدیریت رخداد وجود داره، از درجه یک تا درجه سه.
درجه سه اینه که برای رخداد فشار کلید در یک یا چند TextBox کد بنویسید که اگر فلان ترکیب های کلیدی ایجاد شد، فلان کاراکتر را درج کند،
این مختص همان چند TextBox برنامه شما است که برایشان رخداد را اختصاصا مدیریت می کنید.
درجه دو عمومی تر آن است، برای کل یک یا چند فرم برنامه تان این کد را می نویسید. شامل تمامی کنترل هایی می شود که روی فرم تان قرار می گیرند.
درجه یک سراسری و برای کل ویندوز است، کدی می نویسید که کل کلیدی هایی که در ویندوز فشار داده می شوند را پردازش کند و اگر به ترکیب کلیدی
مورد نظرتان رسیدید کاراکتر فلان را جایگزین کند. اینکار مشابه همان روال ساختن Hot Key برای برنامه هایی است که با فشار دادن یک ترکیب کلیدی کاری انجام می دهند.
فرضا برنامه هایی مثل Snagit و Camtasia که موقع فشار دادن کلید Prt Scr یا Print Screen اجرا می شوند و از صفحه عکس می گیرند.
و آیا می شود با کلیک روی یک پیکچر باکس اون کاراکتر تایپ شود؟
اصلا محدودیتی ندارید، هر جور روشی که رخدادی به حساب بیاد قابل اجرا است. برای درج کاراکتر الزامی نیست که واقعا کلیدی فشرده بشه.
در اصل چهار روش برای درج کاراکتر در TextBox هست، روش اول اینه که مستقیما Text اش رو تغییر بدید، مزیت اش اینه که حتی روی TextBox ای که غیر فعاله
یا Focus نداره قابل اجرا است. روش دوم اینه که صبر کنید چیزی داخلش تایپ بشه و بعد در رخداد فشار کلید، قبل از درج کاراکتر، کاراکتر رو عوض کنید، فارسی نویس های
ویندوز 95/98/Me معمولا از این روش استفاده می کردند. روش سوم اینه که کاراکتری رو به بافر صفحه کلید بفرستید، انگار که کاربر کلیدی رو فشار داده بوده، کاربرد اش
زمانی است که سایر روش ها جواب نمیده، مخصوصا روی سایر برنامه ها که بهشون دسترسی مستقیم ندارید جواب میده، برنامه ها نمی توانند فرق اش رو
با فشار واقعی کلید تشخیص دهند. روش چهارم اینه که با SendMessage پیام هایی به TextBox بفرستید که کلیدی فشرده شده، این روش مستقیما از API ویندوز
استفاده می کنه، برای زبان های Net. مزیتی نداره و روی بعضی برنامه ها هم جواب نمیده.
برای بولد کردن و مورب کردن و تغییر سایز فونت داخل تکست باکس طوری که کاربر این کار را انجام دهد، هم ابزاری هست؟
تشکر می کنم.
اگر برای بخشی از متن باشه دیگه TextBox پاسخگو نیست، TextBox برای کل متن یک حالت بیشتر نخواهد داشت، باید از RichTextBox استفاده کنید.
RichTextBox همان کنترلی است که WordPad ویندوز ازش استفاده می کنه، جزو کنترل های استاندارد ویندوز ئه، در #C و کلا Net. در Toolbox هست.