ต้องการ ปล็อค การ คีย์ ตัวเลข บนคีย์บอร์ด

ตอบกระทู้

รูปแสดงอารมณ์
:icon_plusone: :like: :plusone: :gfb: :-D :) :( :-o 8O :? 8) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: :angry: :baa: :biggrin:
รูปแสดงอารมณ์อื่นๆ

BBCode เปิด
[img] เปิด
[url] เปิด
[Smile icon] เปิด

กระทู้แนะนำ
   

มุมมองที่ขยายได้ กระทู้แนะนำ: ต้องการ ปล็อค การ คีย์ ตัวเลข บนคีย์บอร์ด

Re: ต้องการ ปล็อค การ คีย์ ตัวเลข บนคีย์บอร์ด

โดย touleg » 16/08/2011 1:46 pm

งั้นก็ใช้วิธีการ Map Message เอา โดยการ

1. เลือกที่คลาส ในหน้าต่าง Class View
2. ที่หน้าต่าง Properties เลือกรูปสี่เหลี่ยมด้านบน (CMappingView)
3. เลือก WM_KEYDOWN ด้านข้างเลือก event OnKeyDown

จากนั้นมันจะขึ้นฟังก์ชั่นใน โค้ดของเรา จะเขียนตรวจสอบอะไรก็เขียนลงไปในนั้น

Re: ต้องการ ปล็อค การ คีย์ ตัวเลข บนคีย์บอร์ด

โดย mr.a » 16/08/2011 11:14 am

ผมลอง disable แล้วครับ แต่ทั้งคีย์บอร์ด และ scanner ไม่สามารถป้อนข้อมูลลงไปได้เลยครับ

ผมต้องการประมาณว่ารับข้อมูลตัวเลขจาก scanner เท่านั้นครับ ส่วนตัวอักษรอื่นจะรับจาก คีย์บอร์ดครับ

Re: ต้องการ ปล็อค การ คีย์ ตัวเลข บนคีย์บอร์ด

โดย touleg » 15/08/2011 4:23 pm

disable TextBox นั้นไม่ให้พิมพ์ได้ซิครับ

Re: ต้องการ ปล็อค การ คีย์ ตัวเลข บนคีย์บอร์ด

โดย mr.a » 15/08/2011 2:05 pm

ขอโทษที่เขียนไม่ครบถ้วนครับ คืออย่างนี้ครับ ผมมี edit box (VC ++)ตัวหนึ่ง ซึ่งรับค่าจาก การคีย์ข้อมูลโดย คีย์บอร์ดหรือ 2D scanner

ผมต้องการที่จะป้องกันการคีย์ ตัวเลขจากทางคีย์บอร์ด โดยที่ตัวอักษรอื่นบนคีย์บอร์ดยังใช้งานได้อยู่

แล้วใช้ 2D scanner เป็นตัวป้อนข้อมูลอย่างเดียว ไม่แน่ใจว่าสามารถทำได้หรือเปล่าครับ

Re: ต้องการ ปล็อค การ คีย์ ตัวเลข บนคีย์บอร์ด

โดย touleg » 09/08/2011 12:22 pm

เค้าโพสที่บอร์ดนี้ ไม่น่าจะเป็น web app นะครับ

Re: ต้องการ ปล็อค การ คีย์ ตัวเลข บนคีย์บอร์ด

โดย jataz2 » 09/08/2011 11:37 am

เข้าไปดูตัวอักษรใด คือหมายเลข keycode อะไร ได้ที่นี่ครัับ http://www.webonweboff.com/tips/js/event_key_codes.aspx

Re: ต้องการ ปล็อค การ คีย์ ตัวเลข บนคีย์บอร์ด

โดย jataz2 » 09/08/2011 11:30 am

เป็น web app หรือ window app ครับ

ถ้าเป็น web app ก็ใช้ java script เข้ามาช่วยได้ครับ

ด้านล่างนี้เป็นตัวอย่างที่ใช้ javascript บังคับ ให้กรอกได้เฉพาะตัวเลขลงใน textbox

คือให้กรอกได้เฉพาะ keycode หมายเลข 48 ถึง 58 ซึ่งก็คือตัวเลข

ดังนั้นจาก logic นี้ก็เอาไปเเก้ไขได้ง่ายครับ เพียงเเค่หา keycode ของตัวอักษรมาใส่เเทน

ก็ใช้ได้เเล้วครับ

โค้ด: เลือกทั้งหมด

<html>
   <head>
       <script language="javascript">
          function forceNumber(event)
          {
              var keyCode = event.keyCode ? event.keyCode : event.charCode;
              if((keyCode < 48 || keyCode > 58) && keyCode != 8 && keyCode != 9)
                 return false;
          }
    </script>
   </head>
   <body>
         <asp:TextBox ID="txtMsisdn" runat="server" MaxLength="11" onkeypress="return forceNumber(event);" ToolTip="กรอกเบอร์โทร"></asp:TextBox>
   </body>
</html>

Re: ต้องการ ปล็อค การ คีย์ ตัวเลข บนคีย์บอร์ด

โดย touleg » 08/08/2011 5:07 pm

เวลาผู้ใช้พิมพ์เข้าไปก็ตรวจสอบว่าเป็นตัวเลข 0-9 หรือป่าว ถ้าไม่ใช่ถึงจะทำต่อไป

ต้องการ ปล็อค การ คีย์ ตัวเลข บนคีย์บอร์ด

โดย mr.a » 08/08/2011 8:36 am

ตอนนี้ผมสร้าง edit box ขึ้นมาตัวหนึ่ง ซึ่งสามารถ คีย์ ทั้งตัวเลขและตัวอักษรได้ ผมต้องการให้ไม่สามารถ คีย์ตัวเลขได้ต้องทำยังไงครับ

ข้างบน