กล่องข่าวสาร (Message Box) สำหรับสื่อสารระหว่าง ผู้ใช้โปรแกรมกับคอมพิวเตอร์ เช่นให้คำแนะนำเกี่ยวกับการใช้โปรแกรม เตือนเมื่อเกิดข้อผิดพลาด และมีข้อความให้เลือกว่าจะทำอย่างไรต่อไป เช่น Yes, No, OK, Cancel เป็นต้น กล่องข่าวสารนี้ไม่มีวัตถุให้เลือกตอนออกแบบโปรแกรม (Design Time) แต่สั่งให้ทำงานได้เมื่อโปรแกรมทำงาน (Run Time)
การแสดงข่าวสารอย่างง่าย รูปแบบ MsgBox “ Any text “
ตัวอย่างโปรแกรมให้แสดงข่าวสารอย่างง่าย ให้รับข้อมูลที่เป็นตัวเลขเท่านั้นทางกล่องเอกสาร ถ้าคีย์ตัวเลขลงไป จะแสดงข้อความ “ถูกต้อง” แต่ถ้าคีย์อย่างอื่น จะแสดงข้อความ “ต้องเป็นตัวเลขเท่านั้น” ที่กล่องข่าวสาร
กำหนดวัตถุ
กำหนดคุณสมบัติให้วัตถุ ชื่อโดยปริยาย ชื่อที่ตั้ง ข้อความเทกซ์ ข้อความแคพชัน Text1 Text1 Text1 Command1 cmdStart เริ่ม Command2 cmdExit เลิก
เขียนโปรแกรมให้วัตถุควบคุม
สั่ง Run โปรแกรม กด “เริ่ม” คีย์เลข 12345 ที่กล่องข้อความ แล้วกด Enter จะเห็นกล่องข่าวสาร
เมื่อคีย์ข้อมูลที่ไม่ใช่ตัวเลขทั้งหมด
การแสดงข่าวสารที่ซับซ้อนขึ้น รูปแบบ v = MsgBox(prompt,button,title, helpfile, context) v เป็นตัวแปรสำหรับเก็บตัวเลือกที่ผู้ใช้โปรแกรมเลือกตอบ ทำ ให้สามารถเขียนคำสั่งตรวจสอบค่าของตัวแปรนี้ว่า จะ ให้ไปทำงานอะไรต่อไป prompt เป็นข้อความที่ต้องการให้แสดงเป็นข่าวสารออกมา
v = MsgBox(prompt,button,title, helpfile, context)
ค่าและความหมายของปุ่ม Constant Value Description vbOKOnly 0 Display OK button only vbOKCancel 1 Display OK and Cancel buttons vbAbortRetryIgnore 2 Display Abort, Retry and ignore buttons vbYesNoCancel 3 Display Yes, No and Cancel buttons vbYesNo 4 Display Yes and No buttons vbRetryCancel 5 Display Retry and Cancel Buttons
ประเภทของสัญรูป Constant Value Description vbCritical 16 Display critical message icon vbQuestion 32 Display warning query icon vbExclamation 48 Display warning message icon vbInformation 64 Display Information message icon
ปุ่มที่เป็นค่าปริยาย (Default) Constant Value Description vbDefaultButton1 0 First button is default vbDefaultButton2 256 Second button is default vbDefaultButton3 512 Third button is default
ตัวอย่างโปรแกรม ให้แสดงกล่องข่าวสาร “คุณต้องการทำต่อหรือไม่ ? “ พร้อมตัวเลือกคือ Yes, No และ Cancel (ปุ่ม VbYesNoCancel) ใช้สัญรูปวิกฤติ (VbCritical) ต้องการให้ปุ่มที่สอง เป็นค่าโดยปริยาย (VbDefaultButton2) เมื่อเลือกตัวเลือกใด ให้นำตัวเลือกนั้นไปแสดงที่แถบข้อความ
เลือกวัตถุ
กำหนดคุณสมบัติให้วัตถุ ชื่อโดยปริยาย ชื่อที่ตั้ง ข้อความเทกซ์ ข้อความแคพชัน Label1 lblDisplay Label1 Command1 cmdStart เริ่ม Command2 cmdExit เลิก
เขียนโปรแกรมให้กับวัตถุควบคุม
วัตถุควบคุมพื้นฐานสำหรับรับข้อมูล
การรับข้อมูลทำได้ 2 วิธีคือ จากแป้นอักษร โปรแกรมแสดงข้อมูลให้เลือก
วัตถุควบคุมให้รับข้อมูลจากแป้นอักษร กล่องรับข้อมูล (InputBox) กล่องข้อความ (TextBox)
รับข้อมูลจากกล่องรับข้อมูล รูปแบบ v = InputBox(promt,title,xpos,ypos,hehpfile,context) v เป็นตัวแปรอักขระสำหรับเก็บข้อมูล prompt เป็นข้อความที่ต้องการให้อธิบายข้อมูลที่จะนำเข้า title เป็นข้อความที่ต้องการให้แสดงที่แถบหัวเรื่อง
v = InputBox(promt,title,xpos,ypos,hehpfile,context) helpfile เป็นชื่อของแฟ้มขอความชาวยเหลือ context เป็นหมายเลขที่ใช้อ้างถึงข้อความในแฟ้มขอความ ช่วยเหลือ
ตัวอย่างโปรแกรม รับข้อความจากกล่องรับข้อมูล กล่องนี้จะปรากฎให้เห็นที่ตำแหน่ง 3000, 2400 เมื่อรับข้อความแล้ว จะนำข้อความไปแสดงที่แถบข้อความ
เลือกวัตถุ
กำหนดคุณสมบัติให้วัตถุ ชื่อโดยปริยาย ชื่อที่ตั้ง ข้อความเทกซ์ ข้อความแคพชัน Label1 lblDisplay Label1 Command1 cmdStart เริ่ม Command2 cmdExit เลิก
เขียนโปรแกรมให้วัตถุควบคุม
สั่ง Run โปรแกรม จะปรากฎกล่องรับข้อมูล
คีย์ข้อความ “ทดลองคีย์ข้อมูล” แล้วกด Enter
ข้อความที่คีย์ จะไปแสดงออกที่แถบข้อความ ส่วนกล่องรับข้อมูลจะหายไป
รับข้อมูลจากกล่องข้อความ ใช้กล่องนี้ทำงานร่วมกับเหตุการณ์ KeyPress สามารถรับ และตรวจสอบความถูกต้องของข้อมูลได้
เหตุการณ์ณ์ KeyPress มีรูปแบบดังนี้ Private Sub object_KeyPress (Index as Integer, keyascii as Integer)
Object เป็นวัตถุควบคุมใด ๆ ที่สามารถรับเหตุการณ์ KeyPress ได้ index เป็นเลขจำนวนเต็มบอกลำดับของวัถุควบคุม ถ้า วัตถุนั้นได้รับการตั้งชื่อแบบอะเรย์ ถ้าไม่มีการตั้ง ชื่อวัตถุควบคุมเป็นอะเรย์ ไม่ต้องมี index ก็ได้ keyasscii เป็นเลขจำนวนเต็ม แสดงหัสแอสกีของอักขระที่ แป้นอักษรนั้นถูกกด
ตัวอย่างโปรแกรมรับข้อมูลจากกล่องข้อความ รับข้อมูลจากกล่องข้อความแล้วแสดงผลออกทางแถบข้อความ
เลือกวัตถุ
กำหนดคุณสมบัติให้วัตถุ ชื่อโดยปริยาย ชื่อที่ตั้ง ข้อความเทกซ์ ข้อความแคพชัน Text1 Text1 Text1 Label1 lblDisplay Label1 Command1 cmdStart เริ่ม Command2 cmdExit เลิก
เขียนโปรแกรมให้วัตถุควบคุม
Run โปรแกรม แล้วกด “เริ่ม” กล่องข้อความพร้อมที่จะรับข้อมูล
คีย์ข้อความ “ทดลองรับข้อมูลจากกล่องข้อความ” กด Enter จะเห็น ข้อความดังกล่าว ปรากฏที่แถบข้อความ