มีรุ่นพี่เภสัชฯ ที่รู้จักสอบถามมา
– คือทำหน้าจอแจ้งเตือนมาให้แสดง แล้วกดปุ่ม รับทราบ แล้วก็ปิดไป (ดูง่ายๆ ) แต่เวลานำไปใช้ user ก็กด enter รัวๆ ก็ทำให้ไม่เป็นข้อความ หรือไม่อ่านข้อความที่แจ้งเตือน ทำแบบไหนให้อ่านก่อนสักพักแล้วค่อยกดปุ่ม รับทราบ แล้วปิดไป
จากโจทย์นี้ผมก็เลยมาลองทำตามรูปครับ
ก็จะได้ผลตามนี้
– เพราะโปรแกรมจะรับทราบจากปุ่ม enter ก็จะหมายถึงการคลิก นั้นเอง ทำให้ดักไม่ได้ใน กรณีนี้
วิธีแก้ไข มีหลายแบบ แต่เอาเฉพาะแบบที่มองเห็นแล้วเข้าใจง่ายละกันนะครับ
– โดยเอา checkbox มาอีกตัวมาวางไว้ดักการกดปุ่ม button นี้ก่อนก็จะได้แบบนี้
– เสร็จแล้วก็ไปเขียนโค้ดเพิ่มเติมใน events onClick ตามนี้
procedure Tvn_script_demo_f.cxButton1Click(Sender: TObject);
begin
if cxCheckBox1.Checked then
close
else
showmessage(‘กรุณากดยืนยัน !’);
end;
– เวลารันแล้วก็จะได้แบบนี้
– ที่ได้แบบนี้คือ เวลากดปุ่ม button ให้เช็คว่า cxCheckBox1 ถูกติ๊ก แล้วหรือยัง ค่าของ Property ของ Checked จะมีค่า true กับ false ให้เราทราบได้ว่า ติ๊กหรือไม่ ก็จะดักเหตุการณ์นี้ได้
– ทีนี้ก็มาใช้ประยุกต์กับการกดปุ่มแทนได้
ก็จะทำงานได้ตามคลิปนี้นะครับ
ก็จะช่วยให้การดัก การกดปุ่ม Enter รัวๆ ได้ระดับหนึ่ง
ก็หวังว่าจะเป็นประโยชน์นะครับ ก็ลองเอาไปปรับใช้เอานะครับ
ขอบคุณที่ติดตาม มีคำถามก็ส่งเข้ามาหาผมได้ ถ้าไม่ยากนักก็จะลัดคิว เขียนลง blog ให้อ่านกันครับ
อย่าลืมกดติดตาม เพจและ blog นี้นะครับจะได้ไม่พลาดครับ
แล้วพบกันใหม่ครับ
4,280 total views, 1 views today