Chapter 6 CommandButton, Label และ TextBox

Chapter 6 Using the CommandButton, Label and TextBox Controls

การใช้งานคอนโทรล CommandButton, Label และ TextBox

  • การใช้งานคอนโทรล CommandButton
    • คุณสมบัติของคอนโทรล CommandButton
    • เมธอดของคอนโทรล CommandButton
    • เหตุการณ์ของคอนโทรล CommandButton
  • การใช้งานคอนโทรล Label
    • คุณสมบัติของคอนโทรล Label
    • เมธอดของคอนโทรล Label
    • เหตุการณ์ของคอนโทรล Label
  • การใช้งานคอนโทรล TextBox
    • คุณสมบัติของคอนโทรล TextBox
    • เมธอดของคอนโทรล TextBox
    • เหตุการณ์ของคอนโทรล  TextBox

การใช้งานคอนโทรล CommandButton

คอนโทรล CommandButton ใช้สำหรับสร้างปุ่มกด หรือปุ่มตอบรับ ซึ่งคุณสามารถพบได้ในแอพพลิเคชันทั่วๆ ไป ซึ่งถือได้ว่า เป็นคอนโทรลที่มีการใช้งาน มากที่สุดอีกตัวหนึ่ง

clip_image001

รูปที่ 6-1 คอนโทรล CommandButton บนทูลบ๊อกซ์

โดยปกติแล้ว เมื่อคุณใช้งานคอนโทรล CommandButton ขนาดของตัวคอนโทรลที่ VB ตั้งมา จะเป็นขนาดที่เหมาะสมในการใช้งานอยู่แล้ว เมื่อคุณดับเบิลคลิ๊กที่ทูลบ๊อกซ์

clip_image002

รูปที่ 6-2 แสดงขนาดของคอนโทรล CommandButton แบบ Default ที่ปรากฎอยู่บนฟอร์ม

่ สำหรับการกำหนดข้อความที่จะแสดงบนปุ่ม ซึ่งถือได้ว่า เป็นคุณสมบัติที่เป็นหน้าที่หลักของคอนโทรล CommandButton เลยก็ว่าได้ คุณควรที่จะใช้ข้อความที่สื่อหน้าที่ของปุ่มนั้นๆ ด้วย มีรูปแบบการใช้งานดังนี้

Command1.Caption [= string]

ตัวแปร string หมายถึงข้อความที่คุณต้องการแสดงบนปุ่ม ควรจะเป็นคำเดียวสั้นๆ ที่มีความหมายตรงกับหน้าที่ของมัน เช่น

clip_image003

รูปที่ 6-3 แสดงคอนโทรล CommandButton ที่ตั้งคุณสมบัติ Caption เป็น OK

ถ้าคุณต้องการทำให้ปุ่มมี access key  ซึ่งหมายถึงผู้ใช้สามารถกดปุ่ม  ALT+ตัวอักษร เพื่อใช้งานปุ่มดังกล่าว ให้คุณใช้เครื่องหมาย & (ampersand) หน้าตัวอักษรที่คุณต้องการทำ access key ดังรูป เป็นการใส่เครื่องหมาย & หน้าตัว O ที่คุณสมบัติ caption

clip_image004

รูปที่ 6-4 แสดงปุ่ม OK ที่มีการทำ Access key

clip_image005

ถ้าคุณต้องการแสดงเครื่องหมาย & ให้ผู้ใช้เห็นบนตัวคอนโทรล   คุณเพียงแต่ใส่เครื่องหมาย && ซ้ำกัน 2 ตัว ก็จะเป็นการแสดงเครื่องหมาย & ได้ และในการตั้งชื่อ (คุณสมบัติ Name) เพื่อใช้อ้างอิงในการเขียนโค้ด คุณควรใช้คำนำหน้าว่า cmd เช่น cmdOk เป็นต้น


คุณสมบัติของคอนโทรล CommandButton

สำหรับคุณสมบัติของคอนโทรล CommandButton อื่นๆ ที่น่าสนใจ มีดังนี้

Appearance

คุณสมบัตินี้มีหน้าที่สำหรับคืนค่า หรือกำหนดรูปแบบการปรากฎของคอนโทรล CommandButton  บนฟอร์ม คุณสมบัตินี้ในขณะรัน คุณสามารถอ่านค่าได้อย่างเดียว มีรูปแบบการใช้งานดังนี้

Command1.Appearance=[value]

ตัวแปร value หมายถึง เลขจำนวนเต็ม Integer ซึ่งมีความหมายดังนี้

กำหนดค่า

รายละเอียด

0

Flat หมายถึง ลักษณะของคอนโทรลเป็นแบบ 2 มิติ ( 2D)

1

(Default) แสดงคอนโทรลในลักษณะ 3 มิติ (3D)

clip_image006

รูปที่ 6-5 แสดงคอนโทรล CommandButton แบบ Flat และ 3D ที่ปรากฎอยู่บนฟอร์ม


BackColor และ ForeColor

คุณสมบัติ BackColor มีหน้าที่สำหรับกำหนดสีพื้นหลัง ส่วนคุณสมบัติ ForeColor มีหน้าที่กำหนดสีตัวอักษรที่ปรากฎอยู่บนตัวคอนโทรล   มีรูปแบบการใช้งานดังนี้

Command1.BackColor [= color]
Command1.ForeColor [= color]

เมื่อคุณต้องการกำหนดสี VB จะแสดงแท็บสี ที่คุณสามารถกำหนดได้ 2 ลักษณะคือ

  • แท็บ Palette หมายถึง ต้องการใช้สีจากการผสมของแม่สี RGB ตามปกติ

clip_image007

รูปที่ 6-6 แสดงแท็บ Palette

  • แท็บ System หมายถึง ต้องการใช้สี โดยเลือกจากตัวอย่างของสีที่ควรจะเป็น ในสภาวะต่างๆ ซึ่งขึ้นอยู่กับการกำหนดสีใน Control Panel ด้วย เช่น ขณะถูก Hilight, Disable ฯลฯ เป็นต้น เป็นการอำนวยความสะดวกให้คุณ ในกรณีที่ คุณต้องการใช้สีที่เป็นมาตรฐาน และเหมาะสมกับสภาวะนั้นๆ

clip_image008

รูปที่ 6-7 แสดงแท็บ System


CANCLE

คุณสมบัตินี้มีหน้าที่สำหรับคืนค่า หรือกำหนดให้ปุ่ม CommandButton สามารถตอบรับการกดปุ่ม Esc ที่คีย์บอร์ดของผู้ใช้ได้ มีรูปแบบการใช้งานดังนี้

Command1.Cancel [= boolean]

ตัวแปร boolean คุณสามารถกำหนดค่าได้ดังนี้

กำหนดค่า

รายละเอียด

True

คอนโทรล CommandButton มีสถานะเป็นปุ่ม Cancel

False

(Default) คอนโทรล CommandButton เป็นปุ่มกด ตอบรับธรรมดา


Container

คุณสมบัตินี้มีหน้าที่สำหรับคืนค่า หรือกำหนดชื่อคอนโทรลบรรจุ (container) ซึ่งบรรจุคอนโทรล CommandButton ไว้ คุณสามารถอ่านค่าคุณสมบัตินี้ ได้ในขณะรันเท่านั้น ขณะออกแบบ ไม่สามารถใช้งานได้ มีรูปแบบการใช้งานดังนี้

Set Command1.Container [=container]

ตัวแปร container หมายถึง ชื่อของคอนโทรล ซึ่งบรรจุคอนโทรล CommandButton ไว้ สำหรับคอนโทรลที่สามารถเป็นตัวบรรจุได้ คือ

  • คอนโทรล Frame
  • คอนโทรล PictureBox
  • คอนโทรล SSTab

Default

คุณสมบัตินี้ เป็นการกำหนดให้ปุ่มอยู่ในฐานะถูกโฟกัสอยู่ ซึ่งอำนวยความสะดวกให้ผู้ใช้ สามารถกดปุ่ม ENTER ได้ทันที โดยไม่ต้องใช้เมาส์คลิ๊ก คุณสามารถพบเห็นความสามารถนี้ได้ โดยทั่วไป เมื่อเวลามีข้อความเตือนต่างๆ เช่น ข้อความเตือนให้ผู้ใช้ เซฟงานก่อนปิดแอพพลิเคชัน ซึ่งจะตั้งค่า Default ของปุ่มไว้ที่ Yes เสมอ จากรูป เป็นไดอะล๊อกบ๊อกซ์ของ Word 2000 เตือนให้ผู้ใช้ เซฟงานก่อนออกจากแอพพลิเคชัน

clip_image009

รูปที่ 6-8 ไดอะล๊อกบ๊อกซ์เตือนให้ผู้ใช้เซฟงาน

จะเห็นได้ว่า มีการตั้งค่า Default ของปุ่มไว้ที่ Save เพื่อให้ผู้ใช้สามารถคลิ๊กด้วยเมาส์ หรือกดปุ่ม Enter เพื่อเซฟงานได้เลย คุณสมบัตินี้ คุณควรที่จะกำหนดค่าเสมอในการใช้งานคอนโทรล CommandButton ในขณะออกแบบ หรือขณะเขียนโค้ดก็ได้ มีรูปแบบการใช้งานดังนี้

Command1.Default [= boolean]

ตัวแปร boolean คุณสามารถกำหนดค่าได้ดังนี้

กำหนดค่า

รายละเอียด

True

คอนโทรล CommandButton จะเป็นปุ่ม Default

False

(Default) คอนโทรล CommandButton ไม่ได้เป็นปุ่ม Default

จะเห็นได้ว่า VB ตั้งค่าปกติไว้ที่ False ซึ่งหมายถึง กำหนดให้คอนโทรล CommandButton ไม่ได้เป็นปุ่ม Default ดังนั้น ในทุกๆ ครั้ง ที่คุณมีการใช้งานคอนโทรล CommandButton   คุณควรที่จะมากำหนดคุณสมบัตินี้เสมอ ซึ่งก็แล้วแต่กรณี เช่น ถ้าเป็นเรื่องของการเตือน เพื่อป้องกันความเสียหาย ที่อาจเกิดขึ้นกับผู้ใช้ได้ คุณก็ควรตั้งค่า Default ไว้ที่ปุ่ม ที่ป้องกันไว้ก่อน เพื่อป้องกันผู้ใช้ที่ไม่ทราบ หรือไม่ระวัง เช่น กรณีที่เป็นข้อความเตือนว่า คุณต้องการลบไฟล์นี้ใช่ไหม คุณควรที่จะตั้งค่า Default ของปุ่มไว้ที่ No เพื่อป้องกันความผิดพลาด ซึ่งผู้ใช้อาจกดปุ่ม ENTER โดยไม่ตั้งใจ ก็จะไม่เกิดความเสียหาย แต่อย่างใด


DisabledPicture

คุณสมบัตินี้มีหน้าที่สำหรับคืนค่า หรือกำหนดรูปกราฟิก เพื่อใช้แทนคอนโทรล CommandButton ซึ่งคุณจะต้องกำหนดให้คุณสมบัติ Enabled=False และคุณสมบัติ Style=1 ก่อน และจะทำให้ผู้ใช้ไม่สามารถคลิ๊กที่ตัวคอนโทรล CommandButton ได้ มีรูปแบบการใช้งานดังนี้

Command1.DisabledPicture [= picture]

ตัวแปร picture หมายถึง ไฟล์รูปกราฟฟิก ซึ่งมีรายละเอียดดังนี้

กำหนดค่า

รายละเอียด

(None)

(Default) หมายถึง ไม่ต้องแสดงรูปกราฟฟิกใดทั้งสิ้น

Bitmap, icon, metafile

หมายถึง กำหนดรูปภาพกราฟฟิก ที่ใช้แทนคอนโทรล CommandButton ไฟล์กราฟฟิกที่ใช้ได้ตามเอกสารใน msdn คือ *.bmp, *.ico และ *.wmf แต่จากการทดลองของผู้เขียน คุณสามารถใช้ไฟล์ *.gif และ *.jpg ได้อีกด้วย สำหรับไฟล์ *.gif ไม่ควรใช้รูปแบบภาพเคลื่อนไหว (Gif89a) ในบางครั้งจะทำให้เกิด error ได้

clip_image010

รูปที่ 6-9 แสดงการใช้งานคุณสมบัติ DisabledPicture ของคอนโทรล CommandButton


DownPicture

คุณสมบัตินี้มีหน้าที่สำหรับคืนค่า หรือกำหนดรูปกราฟฟิก เมื่อคอนโทรล CommandButton  ถูกคลิ๊ก หมายความว่า รูปจะปรากฎออกมา เมื่อผู้ใช้คลิ๊กที่คอนโทรล CommandButton เท่านั้น โดยมีเงื่อนไขว่า คุณจะต้องกำหนดให้คุณสมบัติ Style=1 เสียก่อน มีรูปแบบการใช้งานดังนี้

Command1.DownPicture [=picture]

ตัวแปร picture หมายถึง ไฟล์รูปกราฟฟิก ซึ่งมีรายละเอียดดังนี้

กำหนดค่า

รายละเอียด

(None)

(Default) หมายถึง ไม่ต้องแสดงรูปกราฟฟิกใดทั้งสิ้น

Bitmap, icon, metafile

หมายถึง กำหนดรูปภาพกราฟฟิก ที่ใช้แทนคอนโทรล CommandButton ไฟล์กราฟฟิกที่ใช้ได้ตามเอกสารใน msdn คือ *.bmp, *.ico และ *.wmf แต่จากการทดลองของผู้เขียน คุณสามารถใช้ไฟล์ *.gif และ *.jpg ได้อีกด้วย สำหรับไฟล์ *.gif ไม่ควรใช้รูปแบบภาพเคลื่อนไหว (Gif89a) ในบางครั้งจะทำให้เกิด error ได้

clip_image011

รูปที่ 6-10 แสดงรูปกราฟฟิกที่คุณกำหนดไว้ในคุณสมบัติ DownPicture เมื่อคอนโทรล CommandButton ถูกคลิ๊ก


DragIcon

คุณสมบัตินี้มีหน้าที่สำหรับคืนค่า หรือกำหนดไอคอน เพื่อใช้กับเมาส์พอยต์เตอร์ เมื่อเกิดเหตุการณ์ ลากแล้ววาง (drag-drop) มีรูปแบบการใช้งานดังนี้

Command1.DragIcon [= icon]

ตัวแปร icon หมายถึง ชื่อไฟล์ไอคอน (*.ico) หรือไฟล์เคอร์เซอร์ (*.cur) ที่คุณต้องการนำมาใช้เป็นไอคอน

ถ้าคุณต้องการกำหนดในขณะออกแบบ คุณสามารถเลื่อกได้จากไดอะล๊อกบ๊อกซ์ Load Icon ดังรูป แต่ถ้าคุณต้องการกำหนดในขณะรัน คุณต้องใช้ฟังก์ชัน LoadPicture สำหรับโหลดไอคอนตามที่คุณต้องการ

clip_image012

รูปที่ 6-11 แสดงไดอะล๊อกบ๊อกซ์ Load Icon


DragMode

คุณสมบัตินี้มีหน้าที่สำหรับคืนค่า หรือกำหนดโหมด (Mode) ที่จะทำให้เกิดเหตุการณ์ลากแล้ววาง (drag-drop) มีรูปแบบการใช้งานดังนี้

Command1.DragMode [= number]

ตัวแปร number หมายถึง เลขจำนวนเต็ม Integer ซึ่งเป็นตัวกำหนดโหมด มีความหมายดังนี้

ค่าคงที่

ค่าตัวเลข

รายละเอียด

VbManual

0

(Default) Manual หมายถึง ผู้ใช้จะต้องเป็นผู้กระทำเองทั้งหมด ตั้งแต่การลาก จนถึงวาง

VbAutomatic

1

Automatic หมายถึง ผู้ใช้เพียงแต่คลิ๊กที่คอนโทรลต้นทางเท่านั้น แล้ว VB จะสร้างเหตุการณ์ลากแล้ววาง ให้สมบูรณ์โดยอัตโนมัติ


Enabled

คุณสมบัตินี้มีหน้าที่คืนค่า หรือกำหนดให้คอนโทรล CommandButton สามารถตอบรับ หรือตอบสนองเหตุการณ์ต่างๆ ที่อาจเกิดจากผู้ใช้ หรือเกิดจากการประมวลผลได้ มีรูปแบบการใช้งานดังนี้

Command1.Enabled [=boolean]

ตัวแปร boolean คุณสามารถกำหนดค่าได้ดังนี้

กำหนดค่า

รายละเอียด

True

(Default) หมายถึง ยอมให้คอนโทรล CommandButton สามารถตอบสนองเหตุการณ์ต่างๆ ได้ตามปกติ

False

หมายถึง ไม่อนุญาตให้คอนโทรล CommandButton ตอบสนองเหตุการณ์ใดๆ ที่เกิดขึ้นทั้งสิ้น

ตัวอย่างเช่น คอนโทรล CommandButton โดยปกติแล้วจะตอบสนองเหตุการณ์คลิ๊ก สมมติว่าเมื่อผู้ใช้คลิ๊กที่ปุ่มนี้ แล้วจบการทำงาน ซึ่งหมายถึง ปุ่มดังกล่าว สามารถตอบสนองเหตุการณ์ที่เกิดจากผู้ใช้ได้   เพราะว่าคุณสมบติ Enabled มีค่าเป็น True แต่ถ้าคุณกำหนดให้คุณสมบัตินี้มีค่าเป็น False เมื่อผู้ใช้คลิ๊กที่ปุ่มดังกล่าว   ไม่ว่าจะคลิ๊กกี่ครั้งก็ตาม จะไม่มีผลอะไรทั้งสิ้น

clip_image013

รูปที่ 6-12 แสดงคอนโทรล CommandButton ที่กำหนดคุณสมบัติ Enabled=True และ Enabled=False


Font

คุณสมบัตินี้มีหน้าที่สำหรับกำหนดรูปแบบของฟอนต์ ลักษณะของฟอนต์ และขนาดของฟอนต์ มีรูปแบบการใช้งานดังนี้

Command1.Font.Name [=fontname]
Command1.Font.Size [=points]
Command1.Font.Bold [=boolean]
Command1.Font.Italic [=boolean]
Command1.Font.Strikethru [=boolean]
Command1.Font.Underline [=boolean]

  • ตัวแปร fontname หมายถึง ชื่อของฟอนต์ที่คุณต้องการใช้ ถ้าคุณต้องการแสดงภาษาไทย คุณต้องเลือกฟอนต์ที่ลงท้ายด้วย UPC เช่น "AngsanaUPC" เป็นต้น
  • ตัวแปร points หมายถึงขนาดของฟอนต์ มีหน่วยเป็นจุด คุณควรใช้เลขจำนวนเต็มเพื่อกำหนดขนาดฟอนต์ การใช้งานระดับปกติ มีขนาด 4 pts
  • ตัวแปร boolean หมายถึง กำหนดสถานะของฟอนต์นั้นๆ เช่น Bold (ตัวหนา), Italic (ตัวเอน), Strikethru (ตัวขีดฆ่า) และ Underline (ตัวขีดเส้นใต้)

Height, Width, Left และ Top

คุณสมบัติ Height และ Width มีหน้าที่สำหรับคืนค่า หรือกำหนดขนาดความกว้าง และความสูงของคอนโทรล CommandButton ส่วนคุณสมบัติ Left และ Top มีหน้าที่สำหรับคืนค่า หรือกำหนดตำแหน่งของคอนโทรล CommandButton  คุณสมบัติทั้ง 4 ตัวจะมีความสัมพันธ์กัน เมื่อคุณมีการเปลี่ยนขนาด หรือเปลี่ยนตำแหน่งของคอนโทรล CommandButton  คุณสมบัติทั้ง 4 ตัวจะเปลี่ยนไปโดยอัตโนมัติ มีรูปแบบการใช้งานดังนี้

Command1.Height [=number]
Command1.Width [=number]
Command1.Left [=x]
Command1.Top [=y]

ตัวแปร number หมายถึง เลขจำนวนเต็มที่เป็นความสูง หรือความกว้างของคอนโทรล

ตัวแปร x,y หมายถึง ตำแหน่งของคอนโทรล CommandButton โดยวัดเทียบจากมุมซ้ายบนของคอนโทรล กับมุมซ้ายบนใต้แถบ title bar ของ Form เป็นพิกัดแบบคู่ลำดับ (Co-ordinate) แต่ถ้าคอนโทรล CommandButton วางอยู่ในคอนโทรล Frame จะวัดเทียบกับมุมซ้ายบน ของคอนโทรล Frame แทน

เนื่องจากว่าคุณสามารถใช้คุณสมบัติ Left และ Top เพื่อเคลื่อนย้ายตำแหน่งของคอนโทรลได้ เช่นเดียวกับเมธอด Move มีคำแนะนำว่า ถ้าคุณต้องการเคลื่อนย้ายคอนโทรล ให้ใช้เมธอด Move แทนการกำหนดคุณสมบัติ Left, Top เพราะสามารถประมวลผลได้เร็วกว่า


Index

คุณสมบัตินี้มีหน้าที่สำหรับคืนค่า หรือกำหนดให้คอนโทรล CommandButton สามารถใช้งานในรูปแบบอาร์เรย์ได้ โดยที่คอนโทรลแต่ละตัวสามารถมีชื่อ (คุณสมบัติ Name) เหมือนกันได้ แต่ต่างกันที่ค่าดัชนี หรือค่า Index นั่นเอง สำหรับในการใช้งานคอนโทรลอาร์เรย์  จะเหมือนกับตัวแปรอาร์เรย์ทุกประการ มีรูปแบบการใช้งานดังนี้

Command1[(number)].Index

ตัวแปร number หมายถึง เลขจำนวนเต็ม Integer ซึ่งเป็นค่า Index ที่ทำให้คอนโทรลแต่ละตัว มีชื่อต่างกัน


MouseIcon

คุณสมบัตินี้มีหน้าที่กำหนดรูปแบบของเมาส์ เมื่อผู้ใช้เลื่อนเมาส์เข้ามาบริเวณคอนโทรล CommandButton มีข้อแม้ว่า คุณต้องกำหนดให้คุณสมบัติ MousePointer=99 เท่านั้น คุณสมบัตินี้เป็นการกำหนดลักษณะเมาส์ตามที่คุณต้องการ โดยที่คุณต้องมีไฟล์ไอคอน หรือไฟล์เคอร์เซอร์ด้วย มีรูปแบบการใช้งานดังนี้

Command1.MouseIcon = LoadPicture(pathname)
Command1.MouseIcon [= picture]

ตัวแปร pathname หมายถึง พาธที่เก็บชื่อไฟล์ไอคอน (*.ico) หรือไฟล์เคอร์เซอร์ (*.cur)
ตัวแปร picture หมายถึง ชื่อไฟล์ไอคอน (*.ico) หรือไฟล์เคอร์เซอร์ (*.cur) คุณระบุแต่ชื่อไฟล์เท่านั้น


MousePointer

คุณสมบัตินี้มีหน้าที่สำหรับ กำหนดรูปแบบของเมาส์ มีรูปแบบการใช้งานดังนี้

Command1.MousePointer [= value]

ตัวแปร Value เป็นรูปแบบของเมาส์ ซึ่งมีอยู่ด้วยกัน 16 แบบดังตารางต่อไปนี้

ค่าคงที่

ค่าตัวเลข

รายละเอียด

vbDefault

0

(Default) ลักษณะของเมาส์ ขึ้นอยู่กับอ๊อบเจ็กต์ หรือการทำงานในขณะนั้น

vbArrow

1

Arrow -กำหนดให้เมาส์แสดงในลักษณะ clip_image014

vbCrosshair

2

Cross (crosshair pointer)-กำหนดให้เมาส์แสดงในลักษณะ clip_image015

vbIbeam

3

I beam-กำหนดให้เมาส์แสดงในลักษณะ clip_image016

vbIconPointer

4

กำหนดให้เมาส์แสดงในลักษณะ clip_image014[1]

vbSizePointer

5

กำหนดให้เมาส์แสดงในลักษณะ clip_image017

vbSizeNESW

6

กำหนดให้เมาส์แสดงในลักษณะ clip_image018

vbSizeNS

7

กำหนดให้เมาส์แสดงในลักษณะ clip_image019

vbSizeNWSE

8

กำหนดให้เมาส์แสดงในลักษณะ clip_image020

vbSizeWE

9

กำหนดให้เมาส์แสดงในลักษณะ clip_image021

vbUpArrow

10

กำหนดให้เมาส์แสดงในลักษณะ clip_image022

vbHourglass

11

กำหนดให้เมาส์แสดงในลักษณะ clip_image023

vbNoDrop

12

กำหนดให้เมาส์แสดงในลักษณะ clip_image024

vbArrowHourglass

13

กำหนดให้เมาส์แสดงในลักษณะ clip_image025

vbArrowQuestion

14

กำหนดให้เมาส์แสดงในลักษณะ clip_image026

vbSizeAll

15

กำหนดให้เมาส์แสดงในลักษณะ clip_image017[1]

vbCustom

99

กำหนดให้ลักษณะของเมาส์ ขึ้นอยู่กับคุณสมบัติ MouseIcon เป็นการกำหนดลักษณะของเมาส์ตามที่คุณต้องการ


Name

คุณสมบัตินี้มีหน้าที่สำหรับกำหนดชื่อให้กับคอนโทรล เพื่อใช้สำหรับอ้างอิงในการเขียนโค้ด  และคุณจะต้องกำหนดทุกครั้ง ในขณะออกแบบ ที่หน้าต่างคุณสมบัติ ส่วนในขณะรัน คุณไม่สามารถแก้ไขชื่อนี้ได้ อ่านได้อย่างเดียว ถ้าคุณมีการแก้ไขชื่อ จะเกิดข้อผิดพลาดทันที และถ้าคุณมีการใช้งานคอนโทรล มากกว่า 1 ตัว คุณไม่สามารถตั้งชื่อซ้ำกันได้ โดยคุณอาจใช้คำนำหน้า ที่ไมโครซอฟท์แนะนำ เพื่อตั้งชื่อคอนโทรล ให้สอดคล้องกับหน้าที่ของมันก็ได้ เช่น cmdSave, cmdOpen  เป็นต้น ซึ่งชื่อนี้จะใช้อ้างอิงในการเขียนโค้ด และจะช่วยให้คุณเขียนโค้ดได้ง่ายขึ้น


Parent

คุณสมบัตินี้มีหน้าที่สำหรับรายงาน ฟอร์มหรืออ๊อบเจ็กต์ที่บรรจุคอนโทรลไว้ คุณสมบัตินี้คุณสามารถอ่านค่าได้เท่านั้น ไม่สามารถกำหนด่าได้ มีรูปแบบการใช้งานดังนี้

Command1.Parent


Picture

คุณสมบัตินี้มีหน้าที่สำหรับคืนค่า หรือกำหนดให้คอนโทรล CommandButton สามารถแสดงรูปภาพบนตัวคอนโทรลได้ แต่มีข้อแม้ว่า คุณจะต้องกำหนดให้คุณสมบัติ Style=1 ก่อน มีรูปแบบการใช้งานดังนี้

Command1.Picture [=picture]

ตัวแปร picture หมายถึง ชื่อของไฟล์ภาพกราฟฟิก สำหรับชนิดของไฟล์กราฟฟิก ที่คอนโทรลสนับสนุนคือ Bitmap (*.bmp), icon(*.ico), metafile(*.wmf), GIF(*.gif) และ  JPEG (*.jpg)

สำหรับการกำหนดรูปภาพกราฟฟิก ในขณะออกแบบคุณสามารถกำหนดไฟล์กราฟฟิกได้โดยตรงจากหน้าต่างคุณสมบัติ   ซึ่งสนับสนุนไฟล์กราฟฟิกที่กล่าวมาทั้งหมด เมื่อคุณกำหนดที่หน้าต่างคุณสมบัติ มันจะแสดงไดอะล๊อกบ๊อกซ์ Load Picture ขึ้นมา ดังรูป

clip_image027

รูปที่ 6-13 แสดงไดอะล๊อกบ๊อกซ์ Load Picture

เมื่อคุณกำหนดไฟล์กราฟฟิกแล้ว ถ้าคุณ Compile โปรเจ็กต์ ไฟล์กราฟฟิกดังกล่าวจะถูกรวมเข้ากับไฟล์ *.exe โดยอัตโนมัติ

สำหรับในขณะรันคุณอาจใช้ฟังก์ชัน LoadPicture ( ) เพื่อโหลดภาพกราฟฟิกก็ได้ แต่คุณสามารถกำหนดได้เฉพาะไฟล์กราฟฟิกดังนี้ Bitmap (*.bmp), icon(*.ico) และ metafile(*.wmf) เท่านั้น


Style

คุณสมบัตินี้มีหน้าที่สำหรับคืนค่า หรือกำหนดรูปแบบของคอนโทรล CommandButton ซึ่งในขณะรันคุณสามารถอ่านค่าได้อย่างเดียว ถ้าคุณกำหนดรูปแบบใหม่ จะเกิด error ทันที   มีรูปแบบการใช้งานดังนี้

Command1.Style=value

ตัวแปร value คุณสามารถกำหนดค่าได้ดังนี้

ค่าคงที่

ค่าตัวเลข

รายละเอียด

vbButtonStandard

0

(Default) หมายถึง กำหนดให้ตัวคอนโทรล CommandButton มีเฉพาะข้อความ

vbButtonGraphical

1

หมายถึง กำหนดให้ตัวคอนโทรล CommandButton แสดงภาพกราฟฟิกด้วย ซึ่งภาพกราฟฟิกดังกล่าว คุณสามารถกำหนดได้ด้วยคุณสมบัติ Picture


TabIndex

คุณสมบัตินี้มีหน้าที่สำหรับคืนค่า หรือกำหนดลำดับให้คอนโทรล ในการรับโฟกัส เมื่อผู้ใช้กดคีย์ Tab ที่คีย์บอร์ด คุณสามารถกำหนดได้ทั้งในขณะออกแบบ และรันแอพพลิเคชัน มีรูปแบบการใช้งานดังนี้

Command1.TabIndex [=index]

ตัวแปร index หมายถึง เลขจำนวนเต็มบวก Integer เท่านั้น ซึ่งเป็นลำดับโฟกัสของคอนโทรล CommandButton ที่มีค่าตั้งแต่ 0 ถึง n-1 โดยที่ n หมายถึงจำนวนคอนโทรลที่อยู่บนฟอร์ม เรียงลำดับจากน้อยไปมาก และถ้าคุณกำหนดคุณสมบัติ TabIndex เป็นค่าลบ จะเกิด error ทันที

เพื่อให้คุณเห็นภาพได้ชัดเจนยิ่งขึ้น ให้คุณลองเปิดไดอะล๊อกบ๊อกซ์เซฟไฟล์ของโปรแกรมตัวใดก็ได้ จากรูปเป็นไดอะล๊อกบ๊อกซ์เซฟไฟล์ของโปรแกรม Frontpage 98 ถ้าคุณเปิดโปรแกรมตัวอื่นๆ อาจจะมีลำดับไม่เหมือนกัน แต่จะใกล้เคียงกัน

clip_image028

รูปที่ 6-14 แสดงไดอะล๊อกบ๊อกซ์เซฟไฟล์ของโปรแกรม Frontpage 98

จากรูปปุ่ม Save ถูกกำหนดให้เป็นปุ่ม Default (ใน VB คุณสมบัติ Default=True) ให้คุณลองกดปุ่ม Tab จะเห็นได้ว่า ลำดับการโฟกัสจะเลื่อนจากช่อง File name ไปยังช่อง Save as type ไปยังปุ่ม Save ฯลฯ มีความหมายว่า คอนโทรลทุกตัวมีคุณสมบัติ TabStop=True และเป็นการเรียงลำดับโฟกัส ตามความสำคัญด้วย


TabStop

คุณสมบัตินี้มีหน้าที่สำหรับคืนค่า หรือกำหนดให้คอนโทรล สามารถรับโฟกัส เมื่อผู้ใช้กดคีย์ Tab ที่คีย์บอร์ด ได้หรือไม่ มีรูปแบบการใช้งานดังนี้

Command1.TabStop [=boolean]

ตัวแปร boolean คุณสามารถกำหนดค่าได้ดังต่อไปนี้

กำหนดค่า

รายละเอียด

True

(Default) หมายถึง กำหนดให้คอนโทรลสามารถรับโฟกัส เมื่อผู้ใช้กดคีย์ Tab ได้ตามปกติ

False

หมายถึง กำหนดให้คอนโทรล ไม่ตอบรับลำดับการโฟกัสด้วยการกดคีย์ Tab และส่งโฟกัสต่อไปยังคอนโทรลที่อยู่ในลำดับ TabIndex ต่อไป

เป็นคุณสมบัติที่มีความสัมพันธ์กับคุณสมบัติ TabIndex เพราะว่า ถ้าคอนโทรลตัวใดตัวหนึ่ง คุณกำหนดให้คุณสมบัติ TabStop=False แล้ว เมื่อผู้ใช้กดคีย์ Tab ลำดับโฟกัสก็จะข้ามคอนโทรลที่มีคุณสมบัติ TabStop=False ไป แล้วลำดับโฟกัสจะถูกส่งต่อไปยังคอนโทรลที่มีลำดับ TabIndex ตัวต่อไป


ToolTipText

คุณสมบัตินี้มีหน้าที่สำหรับกำหนดข้อความ ToolTip เมื่อผู้ใช้ เลื่อนเมาส์มาบริเวณคอนโทรล CommandButton มีรูปแบบการใช้งานดังนี้

Command1.ToolTipText [=string]

ตัวแปร string หมายถึง ข้อความที่คุณต้องการทำ ToolTip


Value

คุณสมบัตินี้มีหน้าที่สำหรับคืนค่า หรือกำหนดให้คอนโทรล CommandButton มีลักษณะเหมือนกับเกิดเหตุการณ์ที่ผู้ใช้ Click ที่ปุ่มนั่นเอง มีรูปแบบการใช้งานดังนี้

Command1.Value [=boolean]

ตัวแปร boolean คุณสามารถกำหนดค่าได้ดังนี้

กำหนดค่า

รายละเอียด

True

หมายถึง ตัวคอนโทรลถูกเลือก หรือเหมือนกับเกิดเหตุการณ์คลิ๊กที่ตัวคอนโทรล

False

หมายถึง ตัวคอนโทรลไม่ได้ถูกเลือก


Visible

คุณสมบัตินี้มีหน้าที่สำหรับคืนค่า หรือกำหนดให้คอนโทรล CommandButton สามารถมองเห็นได้หรือไม่ มีประโยชน์ในกรณีที่ ในบางครั้งคุณต้องการซ่อนตัวคอนโทรลไม่ให้ผู้ใช้เห็น แต่ตัวคอนโทรลยังคงอยู่ในหน่วยความจำ มีรูปแบบการใช้งานดังนี้

Command1.Visible [=boolean]

ตัวแปร boolean คุณสามารถกำหนดค่าได้ดังนี้

กำหนดค่า

รายละเอียด

True

(Default) หมายถึง คอนโทรลมองเห็นได้ตามปกติ

False

หมายถึง คอนโทรลถูกซ่อนอยู่ภายในหน่วยความจำ


เมธอดของคอนโทรล CommandButton

สำหรับรายการเมธอดของคอนโทรล CommandButton ที่น่าสนใจมีดังนี้

Move

เมธอดนี้มีหน้าที่สำหรับกำหนดให้คอนโทรล CommandButton   เคลื่อนย้ายตำแหน่ง หรือปรับขนาดของคอนโทรล โดยหน่วยวัดที่ใช้ จะขึ้นอยู่กับคุณสมบัติ ScaleMode ปกติแล้วจะมีหน่วยเป็น Twip มีรูปแบบการใช้งานดังนี้

Command1.Move left[,top,width,height]

รายละเอียดของแต่ละตัวมีดังนี้

ตัวแปร

รายละเอียด

left

คุณต้องกำหนด หมายถึง เลขจำนวนเต็มที่เป็นตำแหน่งของคอนโทรลในแนวแกน x โดยวัดจากมุมซ้ายบน ของคอนโทรลกับ มุมซ้ายบนใต้แถบ title bar ของฟอร์ม ถ้าคอนโทรล CommandButton   อยู่ในคอนโทรล Frame จะวัดเทียบกับมุมซ้ายบนของคอนโทรล Frame แทน

top

(Optional) หมายถึง เลขจำนวนเต็มที่เป็นตำแหน่งของคอนโทรลในแนวแกน y โดยวัดจากมุมซ้ายบน ของคอนโทรลกับ มุมซ้ายบนใต้แถบ title bar ของฟอร์มเช่นกัน ถ้าคอนโทรล CommandButton  อยู่ในคอนโทรล Frame จะวัดเทียบกับ มุมซ้ายบนของคอนโทรล Frame แทน

width

(Optional) หมายถึงเลขจำนวนเต็มที่เป็นความกว้างของคอนโทรล CommandButton

height

(Optional) หมายถึงเลขจำนวนเต็มที่เป็นความสูงของคอนโทรล CommandButton


Refresh

เมธอดนี้มีหน้าที่สำหรับปรับปรุงข้อความที่อยู่บนตัวคอนโทรล ให้ทันสมัย หรือ update ทันที มีรูปแบบการใช้งานดังนี้

Command1.Refresh


SetFocus

เมธอดนี้มีหน้าที่สำหรับกำหนดให้คอนโทรลที่ใช้คุณสมบัตินี้ได้รับโฟกัส (focus) หรือได้รับความสนใจทันที อาจกล่าวได้ว่า เป็นการบังคับให้คอนโทรล ได้รับความสนใจนั่นเอง มีผลให้อ๊อบเจ็กต์ หรือคอนโทรลอื่นๆ สูญเสียโฟกัสทันที มักใช้ในกรณีที่ คุณต้องการบังคับให้เกิดการกระทำ หรือประมวลผลต่อคอนโทรลที่คุณต้องการทันที มีรูปแบบการใช้งานดังนี้

Command1.SetFocus


เหตุการณ์ของคอนโทรล CommandButton

สำหรับเหตุการณ์ที่คอนโทรล CommandButton สนับสนุนมีดังนี้

Command1_Click ( )

เป็นเหตุการณ์ที่เกิดขึ้น เมื่อผู้ใช้คลิ๊กเมาส์ด้วยปุ่มซ้าย ที่บริเวณตัวคอนโทรล มีรูปแบบการใช้งานดังนี้

Private Sub Command1_Click([index As Integer])

End Sub

อาร์กิวเมนต์ index หมายถึง เลขจำนวนเต็ม Integer ที่เป็นค่าดัชนี จะใช้ในกรณีที่เป็นคอนโทรลอาร์เรย์ ซึ่งจะเป็นตัวบอกความแตกต่าง ของคอนโทรลอาร์เรย์แต่ละตัว


Command1_DragDrop ( )

เป็นเหตุการณ์ที่เกิดขึ้น เมื่อผู้ใช้มีการลาก (drag) แล้ววาง (drop) โดยที่เหตุการณ์ดังกล่าวจะต้องเสร็จสิ้น และสมบูรณ์ มีรูปแบบการใช้งานดังนี้

Private Sub Command1_DragDrop([index As Integer,]source As Control, x As Single, y As Single)

End Sub

อาร์กิวเมนต์ index หมายถึง เลขจำนวนเต็ม Integer ที่เป็นค่าดัชนี จะใช้ในกรณีที่เป็นคอนโทรลอาร์เรย์ ซึ่งจะเป็นตัวบอกความแตกต่าง ของคอนโทรลอาร์เรย์แต่ละตัว

อาร์ กิวเมนต์ source หมายถึง คอนโทรลที่เป็นจุดเริ่มต้นเหตุการณ์ลากแล้ววาง (drag-drop)

อาร์กิวเมนต์ x,y หมายถึง พิกัดคู่ลำดับ co-ordinate ซึ่งเป็นตำแหน่งของเมาส์พอยน์เตอร์ บนตัวคอนโทรลปลายทาง ที่ผู้ใช้ต้องการวาง ซึ่งถือว่า กระบวนการลากแล้ววาง (drag-drop) เสร็จสิ้น และสมบูรณ์แล้ว


Command1_DragOver ( )

เป็นเหตุการณ์ที่เกิดขึ้น เมื่อผู้ใช้มีการลากแล้ววาง (drag-drop) จากคอนโทรลอื่นๆ ซึ่งลากผ่านมาเหนือบริเวณที่ไม่ใช่คอนโทรลปลายทาง คุณสามารถใช้เหตุการณ์นี้ เพื่อดักจับเมาส์พอยน์เตอร์ว่า อยู่ตำแหน่งใด มีรูปแบบการใช้งานดังนี้

Private Sub Command1_DragOver([index As Integer,]source As Control, x As Single, y As Single, state As Integer)

End Sub

อาร์กิวเมนต์ index หมายถึง เลขจำนวนเต็ม Integer ที่เป็นค่าดัชนี จะใช้ในกรณีที่เป็นคอนโทรลอาร์เรย์ ซึ่งจะเป็นตัวบอกความแตกต่าง ของคอนโทรลอาร์เรย์แต่ละตัว

อาร์ กิวเมนต์ source หมายถึง คอนโทรลที่เป็นจุดเริ่มต้นเหตุการณ์ลากแล้ววาง (drag-drop)

อาร์กิวเมนต์ x,y หมายถึง พิกัดคู่ลำดับ co-ordinate ซึ่งเป็นตำแหน่งของเมาส์พอยน์เตอร์ บนตัวคอนโทรลปลายทาง ที่ผู้ใช้ต้องการวาง ซึ่งถือว่า กระบวนการลากแล้ววาง (drag-drop) เสร็จสิ้น และสมบูรณ์แล้ว

อาร์กิวเมนต์ state หมายถึง เลขจำนวนเต็ม Integer ที่บอกสถานะของกระบวนการ ลากแล้ววาง ซึ่งมีความหมายดังนี้

  • 0-Enter หมายถึง คอนโทรลต้นทาง (source control) กำลังถูกลากเข้ามาอยู่เหนือบริเวณเป้าหมาย
  • 1-Leave หมายถึง คอนโทรลต้นทาง (source control) กำลังถูกลากออกจากเป้าหมาย
  • 2-Over หมายถึง คอนโทรลต้นทาง (source control) กำลังถูกลากไปมา เหนือบริเวณเป้าหมาย

Command1_GotFocus ( )

เป็นเหตุการณ์ที่เกิดขึ้น เมื่อคอนโทรล CommandButton ได้รับโฟกัส เหตุการณ์นี้จะเกิดขึ้นได้ โดยมีข้อแม้ว่า คุณสมบัติ Enabled และคุณสมบัติ Visible ของคอนโทรล CommandButton จะต้องมีค่าเท่ากับ True เท่านั้น มีรูปแบบการใช้งานดังนี้

Private Sub Command1_GotFocus([index As Integer])

End Sub

อาร์กิวเมนต์ index หมายถึง เลขจำนวนเต็ม Integer ที่เป็นค่าดัชนี จะใช้ในกรณีที่เป็นคอนโทรลอาร์เรย์ ซึ่งจะเป็นตัวบอกความแตกต่าง ของคอนโทรลอาร์เรย์แต่ละตัว


Command1_KeyDown ( ) และ Command1_KeyUp ( )

เหตุการณ์ KeyDown ( ) จะเกิดขึ้นเมื่อ ผู้ใช้กดปุ่มใดๆ ที่คีย์บอร์ด และเหตุการณ์  KeyUp ( ) จะเกิดขึ้นต่อจากเหตุการณ์ KeyDown ( ) นั่นคือ เมื่อผู้ใช้ปล่อยปุ่มที่คีย์บอร์ด คุณจะต้องกำหนดให้คอนโทรล CommandButton ให้ได้รับโฟกัสเสียก่อน มีรูปแบบการใช้งานดังนี้

Private Sub Command1_KeyDown([index As Integer,]keycode As Integer, shift As Integer)

End Sub

Private Sub Command1_KeyUp([index As Integer,]keycode As Integer, shift As Integer)

End Sub

อาร์กิวเมนต์ index หมายถึง เลขจำนวนเต็ม Integer ที่เป็นค่าดัชนี จะใช้ในกรณีที่เป็นคอนโทรลอาร์เรย์ ซึ่งจะเป็นตัวบอกความแตกต่าง ของคอนโทรลอาร์เรย์แต่ละตัว

อาร์กิวเมนต์ keycode หมายถึง รหัสซึ่งเป็นตัวแทนของคีย์ ที่อยู่บนคีย์บอร์ด เช่น ปุ่ม F1-F12, ปุ่ม Home เป็นต้น คุณสามารถดูรายละเอียดเกี่ยวกับ keycode เหล่านี้ได้ที่ บทที่ 28 ค่าคงที่ระบบ (System Constants) ที่น่าสนใจ

อาร์กิวเมนต์ shift หมายถึง สถานะของปุ่ม shift, Ctrl และ Alt โดยที่ปุ่มทั้ง 3 ปุ่ม ถูกจัดเก็บในรูปแบบบิต ซึ่งผู้ใช้สามารถกดพร้อมๆ กันได้ มักจะใช้ค่าบิตมาตรวจสอบสถานะของปุ่มทั้ง 3 เสมอ มีความหมายดังนี้

ค่าคงที่ (Shift)

ค่าตัวเลข

รายละเอียด

vbShiftMask

1

ปุ่ม SHIFT ถูกกด

vbCtrlMask

2

ปุ่ม CTRL ถูกกด

vbAltMask

4

ปุ่ม ALT ถูกกด

ถ้าผู้ใช้มีการกดปุ่มดังกล่าว พร้อมๆ กัน ไม่ว่าจะเป็นปุ่มใดก็ตาม จะใช้ผลบวกของแต่ละบิตรวมกัน เช่น สมมติว่าผู้ใช้กดปุ่ม Shift+Alt จะมีค่าเท่ากับ 5 เป็นต้น


Command1_KeyPress ( )

เป็นเหตุการณ์ที่เกิดขึ้น เมื่อผู้ใช้มีการกด และปล่อยปุ่มที่คีย์บอร์ด แต่คุณต้องกำหนดให้คอนโทรล CommandButton อยู่ในสภาวะได้รับโฟกัสเสียก่อน มีรูปแบบการใช้งานดังนี้

Private Sub Command1_KeyPress([index As Integer,]keyascii As Integer)

End Sub

อาร์กิวเมนต์ index หมายถึง เลขจำนวนเต็ม Integer ที่เป็นค่าดัชนี จะใช้ในกรณีที่เป็นคอนโทรลอาร์เรย์ ซึ่งจะเป็นตัวบอกความแตกต่าง ของคอนโทรลอาร์เรย์แต่ละตัว

อาร์กิวเมนต์ keyascii หมายถึง รหัสแอสกีซึ่งแทนของอักษรที่อยู่บนคีย์บอร์ด คุณสามารถดูรายละเอียดเพิ่มเติมได้ที่ บทที่ 28 ค่าคงที่ระบบ (System Constants) ที่น่าสนใจ


Command1_LostFocus ( )

เป็นเหตุการณ์ที่เกิดขึ้น เมื่อคอนโทรล CommandButton สูญเสียสภาวะโฟกัส ให้กับคอนโทรล หรืออ๊อบเจ็กต์ตัวอื่นๆ อาจกล่าวได้ว่า เหตุการณ์ LostFocus ( ) จะเกิดต่อจากเหตุการณ์ GotFocus ( ) นั่นเอง มีรูปแบบการใช้งานดังนี้

Private Sub Command1_LostFocus([index As Integer])

End Sub

อาร์กิวเมนต์ index หมายถึง เลขจำนวนเต็ม Integer ที่เป็นค่าดัชนี จะใช้ในกรณีที่เป็นคอนโทรลอาร์เรย์ ซึ่งจะเป็นตัวบอกความแตกต่าง ของคอนโทรลอาร์เรย์แต่ละตัว


Command1_MouseDown ( ) และ Command1_MouseUp ( )

เป็นเหตุการณ์ที่เกิดขึ้น เมื่อผู้ใช้กดเมาส์ (press) บริเวณตัวคอนโทรล ก็จะทำให้เกิดเหตุการณ์ MouseDown และเมื่อผู้ใช้ปล่อยเมาส์ (release) บริเวณตัวคอนโทรล ก็จะทำให้เกิดเหตุการณ์ MouseUp มีรูปแบบการใช้งานดังนี้

Private Sub Command1_MouseDown([index As Integer,]button As Integer, shift As Integer, x As Single, y As Single)

End Sub

Private Sub Command1 _MouseUp([index As Integer,]button As Integer, shift As Integer, x As Single, y As Single)

End Sub

อาร์กิวเมนต์ index หมายถึง เลขจำนวนเต็ม Integer ที่เป็นค่าดัชนี จะใช้ในกรณีที่เป็นคอนโทรลอาร์เรย์ ซึ่งจะเป็นตัวบอกความแตกต่าง ของคอนโทรลอาร์เรย์แต่ละตัว

อาร์กิวเมนต์ button หมายถึง ปุ่มของเมาส์ ซึ่งเป็นตัวทำให้เกิดเหตุการณ์ MouseDown และ MouseUp แต่ละปุ่มของเมาส์จะถูกจัดเก็บในลักษณะบิต (bit) โดยที่แต่ละบิตมีความหมายดังนี้

ค่าคงที่ (Button)

ค่าตัวเลข

รายละเอียด

vbLeftButton

1

เมื่อปุ่มซ้ายของเมาส์ถูกกด

vbRightButton

2

เมื่อปุ่มขวาของเมาส์ถูกกด

vbMiddleButton

4

เมื่อปุ่มกลางของเมาส์ถูกกด

อาร์กิวเมนต์ shift หมายถึง สถานะของปุ่ม shift, Ctrl และ Alt โดยที่ปุ่มทั้ง 3 ปุ่ม   ถูกจัดเก็บในรูปแบบบิตเช่นกัน ซึ่งผู้ใช้สามารถกดพร้อมๆ กันได้ มักจะใช้ค่าบิตมาตรวจสอบสถานะของปุ่มทั้ง 3 เสมอ มีความหมายดังนี้

ค่าคงที่ (Shift)

ค่าตัวเลข

รายละเอียด

vbShiftMask

1

ปุ่ม SHIFT ถูกกด

vbCtrlMask

2

ปุ่ม CTRL ถูกกด

vbAltMask

4

ปุ่ม ALT ถูกกด

ถ้าผู้ใช้มีการกดปุ่มดังกล่าว พร้อมๆ กัน ไม่ว่าจะเป็นปุ่มใดก็ตาม จะใช้ผลบวกของแต่ละบิตรวมกัน เช่น สมมติว่าผู้ใช้กดปุ่ม Shift+Alt จะมีค่าเท่ากับ 5 เป็นต้น

อาร์กิวเมนต์ x,y หมายถึง พิกัดคู่ลำดับ (co-ordinate) ของเมาส์พอยน์เตอร์ ซึ่งเป็นตำแหน่งที่เกิดเหตุการณ์ MouseDown หรือ MouseUp


Command1_MouseMove ( )

เป็นเหตุการณ์ที่เกิดขึ้น เมื่อผู้ใช้เลื่อนเมาส์ไปมาบริเวณคอนโทรล CommandButton  มีรูปแบบการใช้งานดังนี้

Private Sub Command1_MouseMove([index As Integer,] button As Integer, shift As Integer, x As Single, y As Single)

End Sub

อาร์กิวเมนต์ index หมายถึง เลขจำนวนเต็ม Integer ที่เป็นค่าดัชนี จะใช้ในกรณีที่เป็นคอนโทรลอาร์เรย์ ซึ่งจะเป็นตัวบอกความแตกต่าง ของคอนโทรลอาร์เรย์แต่ละตัว

อาร์กิวเมนต์ button หมายถึง ปุ่มของเมาส์ ซึ่งเป็นตัวทำให้เกิดเหตุการณ์ MouseDown และ MouseUp แต่ละปุ่มของเมาส์จะถูกจัดเก็บในลักษณะบิต (bit) โดยที่แต่ละบิตมีความหมายดังนี้

ค่าคงที่ (Button)

ค่าตัวเลข

รายละเอียด

vbLeftButton

1

เมื่อปุ่มซ้ายของเมาส์ถูกกด

vbRightButton

2

เมื่อปุ่มขวาของเมาส์ถูกกด

vbMiddleButton

4

เมื่อปุ่มกลางของเมาส์ถูกกด

อาร์กิวเมนต์ shift หมายถึง สถานะของปุ่ม shift, Ctrl และ Alt โดยที่ปุ่มทั้ง 3 ปุ่ม   ถูกจัดเก็บในรูปแบบบิตเช่นกัน ซึ่งผู้ใช้สามารถกดพร้อมๆ กันได้ มักจะใช้ค่าบิตมาตรวจสอบสถานะของปุ่มทั้ง 3 เสมอ มีความหมายดังนี้

ค่าคงที่ (Shift)

ค่าตัวเลข

รายละเอียด

vbShiftMask

1

ปุ่ม SHIFT ถูกกด

vbCtrlMask

2

ปุ่ม CTRL ถูกกด

vbAltMask

4

ปุ่ม ALT ถูกกด

ถ้าผู้ใช้มีการกดปุ่มดังกล่าว พร้อมๆ กัน ไม่ว่าจะเป็นปุ่มใดก็ตาม จะใช้ผลบวกของแต่ละบิตรวมกัน เช่น สมมติว่าผู้ใช้กดปุ่ม Shift+Alt จะมีค่าเท่ากับ 5 เป็นต้น

อาร์กิวเมนต์ x,y หมายถึง พิกัดคู่ลำดับ (co-ordinate) ของเมาส์พอยน์เตอร์ ซึ่งเป็นตำแหน่งที่เกิดเหตุการณ์ MouseDown หรือ MouseUp


การใช้งานคอนโทรล Label

คอนโทรล Label มีหน้าที่สำหรับแสดงข้อความต่างๆ ลงบนตัวคอนโทรล ซึ่งผู้ใช้ไม่สามารถแก้ไขข้อความดังกล่าวได้ มีลักษณะคล้ายๆ กับ คำสั่ง Print ของอ๊อบเจ็กต์ Form แต่คุณสามารถกำหนดรูปแบบ รายละเอียดต่างๆ ของข้อความได้มากกว่า มักจะใช้ควบคู่กับคอนโทรล TextBox เสมอ คุณสามารถเลือกใช้งานคอนโทรล Label โดยการคลิ๊กเลือกที่ clip_image029 บนทูลบ๊อกซ์   รูปแบบของคอนโทรล Label เมื่อปรากฎบนฟอร์ม ดังรูป

clip_image030

รูปที่ 6-15 แสดงคอนโทรล Label ที่อยู่บนฟอร์ม

สำหรับสิ่งที่มีความสำคัญที่สุดในการใช้งานคอนโทรลนี้ก็คือ ข้อความที่คุณต้องการแสดงให้กับผู้ใช้ ดังนั้นคุณสมบัติตัวแรกที่คุณควรทราบ คือ คุณสมบัติ caption มีรูปแบบการใช้งานดังนี้

Label1.Caption [= string]

ตัวแปร string หมายถึง ข้อความที่คุณต้องการแสดง ถ้าคุณต้องการแสดงข้อความภาษาไทย คุณต้องกำหนดคุณสมบัติ Font.Name ให้แสดงด้วยฟอนต์ที่ลงท้ายด้วย UPC และคุณต้องกำหนดข้อความในหน้าต่างคุณสมบัติเท่านั้น ถ้าคุณเขียนข้อความภาษาไทย ใน editor จะเป็นตัวอ่านไม่รู้เรื่อง ตัวอย่างการใช้งานดังนี้

Private Sub Label1_Click()
  Label1.Caption = "hello world"
End Sub

clip_image005[1]

สำหรับชื่อ (คุณสมบัติ Name) ที่ใช้สำหรับการอ้างอิงในการเขียนโค้ด คุณควรใช้คำนำหน้าว่า lbl เช่น lblName, lblUserid เป็นต้น


คุณสมบัติของคอนโทรล Label

สำหรับคุณสมบัติอื่นๆ ที่น่าสนใจของคอนโทรล Label มีดังนี้

Alignment

คุณสมบัตินี้มีหน้าที่คืนค่า หรือกำหนดรูปแบบการจัดวางของข้อความ คุณสามารถแก้ไขคุณสมบัตินี้ได้ทั้งในขณะออกแบบ และขณะรัน มีรูปแบบการใช้งานดังนี้

Label1.Alignment [=number]

ตัวแปร number คุณสามารถกำหนดค่าได้ดังนี้

ค่าคงที่

ค่าตัวเลข

รายละเอียด

VbLeftJustify

0

(Default) ข้อความจะอยู่ชิดซ้าย

VbRightJustify

1

ข้อความจะอยู่ชิดขวา

VbCenter

2

ข้อความจะอยู่กึ่งกลาง

รูปที่ 6-16 แสดงข้อความบนคอนโทรล Label เมื่อคุณกำหนดคุณสมบัติ Alignment แบบ 0, 1 และ 2

clip_image031


Appearance

คุณสมบัตินี้มีหน้าที่สำหรับคืนค่า หรือกำหนดรูปแบบการปรากฎของคอนโทรล Label  บนฟอร์ม ซึ่งคุณสมบัตินี้ในขณะรัน คุณสามารถอ่านค่าได้เพียงอย่างเดียวเท่านั้น มีรูปแบบการใช้งานดังนี้

Label1.Appearance=[value]

ตัวแปร value หมายถึง เลขจำนวนเต็ม Integer ซึ่งมีความหมายดังนี้

กำหนดค่า

รายละเอียด

0

Flat หมายถึง ลักษณะของคอนโทรลเป็นแบบ 2 มิติ ( 2D)

1

(Default) แสดงคอนโทรลในลักษณะ 3 มิติ (3D)

clip_image032

รูปที่ 6-17 แสดงคอนโทรล Label แบบ Flat และ 3D ที่ปรากฎอยู่บนฟอร์ม


AutoSize

คุณสมบัตินี้มีหน้าที่สำหรับคืนค่า หรือกำหนดให้คอนโทรล Label สามารถเปลี่ยนแปลงขนาดความกว้าง และความสูงของตัวคอนโทรล โดยขึ้นอยู่กับความยาว และความสูงของข้อความ ที่ปรากฎอยู่ในคอนโทรล Label โดยอัตโนมัติ มีรูปแบบการใช้งานดังนี้

Label1.AutoSize [= boolean]

ตัวแปร boolean คุณสามารถกำหนดค่าได้ดังนี้

กำหนดค่า

รายละเอียด

True

กำหนดให้คอนโทรล Label สามารถปรับขนาดได้โดยอัตโนมัติ ตามขนาดของข้อความ

False

(Default) กำหนดให้คอนโทรล Label มีขนาดตามที่คุณได้กำหนดขนาดไว้ ในคุณสมบัติ Height และ Width ถ้าในกรณีที่ข้อความ มีขนาดยาวกว่า ความกว้างของคอนโทรล ข้อความส่วนที่เกินจะถูกตัดทิ้งไป

clip_image033

รูปที่ 6-18 แสดงการปรับขนาดของคอนโทรล Label ด้วยคุณสมบัติ AutoSize


BackColor และ ForeColor

คุณสมบัติ BackColor มีหน้าที่สำหรับ กำหนดสีพื้นหลัง (Background) ของตัวคอนโทรล และ คุณสมบัติ ForeColor มีหน้าที่สำหรับ กำหนดสีของข้อความ มีรูปแบบการใช้งานดังนี้

Label1.BackColor [= color]
Label1.ForeColor [= color]

ตัวแปร color คือสีที่คุณต้องการ ซึ่งจะเป็นแบบการผสมจากถาดแม่สี RGB ซึ่งคุณสามารถกำหนดได้ถึง 16,777,215 สี  (&HFFFFFF&) หรือใช้ฟังก์ชัน QBColor สนับสนุน 16 สีก็ได้ ถ้าคุณกำหนดสีในขณะออกแบบ จะมีแท็บสี 2 แท็บให้คุณเลือก คือ

  • แท็บ Palette หมายถึง ต้องการใช้สีจากการผสมของแม่สี RGB ตามปกติ

clip_image007[1]

รูปที่ 6-19 แสดงแท็บ Palette

  • แท็บ System หมายถึง ต้องการใช้สี โดยเลือกจากตัวอย่างของสีที่ควรจะเป็น ในสภาวะต่างๆ ซึ่งขึ้นอยู่กับการกำหนดสีใน Control Panel ด้วย เช่น ขณะถูก Hilight, Disable ฯลฯ เป็นต้น เป็นการอำนวยความสะดวกให้คุณ ในกรณีที่ คุณต้องการใช้สีที่เป็นมาตรฐาน และเหมาะสมกับสภาวะนั้นๆ

clip_image008[1]

รูปที่ 6-20 แสดงแท็บ System

clip_image034

รูปที่ 6-21 แสดงผลของการกำหนดคุณสมบัติ BackColor และ ForeColor

ถ้าคุณกำหนดให้คุณสมบัติ BackStyle มีค่าเป็น 0 ซึ่งหมายถึง แบบโปร่งใส คุณสมบัติ BackColor จะไม่เกิดผลใดๆ ทั้งสิ้น


BackStyle

คุณสมบัตินี้มีหน้าที่สำหรับคืนค่า หรือกำหนดรูปแบบลักษณะพื้นหลังของคอนโทรล Label มีรูปแบบการใช้งานดังนี้

Label1.BackStyle [= number]

ตัวแปร number คุณสามารถกำหนดค่าได้ดังนี้

กำหนดค่า

รายละเอียด

0

กำหนดให้ลักษณะพื้นหลังเป็นแบบโปร่งใส (Transparent) หมายถึง สามารถมองทะลุ เห็นสีพื้นของฟอร์ม หรือสามารถมองทะลุ เห็นคอนโทรลหรืออ๊อบเจ็กต์ที่อยู่ด้านล่าง ของคอนโทรล Label ได้

1

(Default) กำหนดให้ลักษณะพื้นหลังเป็นแบบทีบ (Opaque) ซึ่งคุณสามารถกำหนดสีพื้นหลังได้ โดยใช้คุณสมบัติ BackColor

clip_image035

รูปที่ 6-22 แสดงรูปแบบโปรงใส และแบบทึบของคอนโทรล Label 2 ตัว


BorderStyle

คุณสมบัตินี้มีหน้าที่สำหรับกำหนดให้มีกรอบล้อมรอบตัวคอนโทรล Label มีรูปแบบการใช้งานดังนี้

Label1.BorderStyle = [value]

ตัวแปร value คุณสามารถกำหนดค่าได้ดังนี้

กำหนดค่า

รายละเอียด

0

(Default) หมายถึง กำหนดไม่ให้มีกรอบล้อมรอบ

1

หมายถึง กำหนดให้มีกรอบล้อมรอบตัวคอนโทรล

clip_image036

รูปที่ 6-23 แสดงคอนโทรล Label ที่กำหนดคุณสมบัติ BorderStyle=1


DragIcon

คุณสมบัตินี้มีหน้าที่สำหรับคืนค่า หรือกำหนดไอคอน เพื่อใช้กับเมาส์พอยต์เตอร์ เมื่อเกิดเหตุการณ์ ลากแล้ววาง (drag-drop) มีรูปแบบการใช้งานดังนี้

Label1.DragIcon [= icon]

ตัวแปร icon หมายถึง ชื่อไฟล์ไอคอน (*.ico) หรือไฟล์เคอร์เซอร์ (*.cur) ที่คุณต้องการนำมาใช้เป็นไอคอน

ถ้าคุณต้องการกำหนดในขณะออกแบบ คุณสามารถเลื่อกได้จากไดอะล๊อกบ๊อกซ์ Load Icon ดังรูป แต่ถ้าคุณต้องการกำหนดในขณะรัน คุณต้องใช้ฟังก์ชัน LoadPicture สำหรับโหลดไอคอนตามที่คุณต้องการ

clip_image012[1]

รูปที่ 6-24 แสดงไดอะล๊อกบ๊อกซ์ Load Icon


DragMode

คุณสมบัตินี้มีหน้าที่สำหรับคืนค่า หรือกำหนดโหมด (Mode) ที่จะทำให้เกิดเหตุการณ์ลากแล้ววาง (drag-drop) มีรูปแบบการใช้งานดังนี้

Label1.DragMode [= number]

ตัวแปร number หมายถึง เลขจำนวนเต็ม Integer ซึ่งเป็นตัวกำหนดโหมด มีความหมายดังนี้

ค่าคงที่

ค่าตัวเลข

รายละเอียด

VbManual

0

(Default) Manual หมายถึง ผู้ใช้จะต้องเป็นผู้กระทำเองทั้งหมด ตั้งแต่การลาก จนถึงวาง

VbAutomatic

1

Automatic หมายถึง ผู้ใช้เพียงแต่คลิ๊กที่คอนโทรลต้นทางเท่านั้น แล้ว VB จะสร้างเหตุการณ์ลากแล้ววาง ให้สมบูรณ์โดยอัตโนมัติ


Enabled

คุณสมบัตินี้มีหน้าที่คืนค่า หรือกำหนดให้คอนโทรล Label   สามารถตอบรับ หรือตอบสนองเหตุการณ์ต่างๆ ที่อาจเกิดจากผู้ใช้ หรือเกิดจากการประมวลผลได้ มีรูปแบบการใช้งานดังนี้

Label1.Enabled [=boolean]

ตัวแปร boolean คุณสามารถกำหนดค่าได้ดังนี้

กำหนดค่า

รายละเอียด

True

(Default) หมายถึง ยอมให้คอนโทรล Label สามารถตอบสนองเหตุการณ์ต่างๆ ได้ตามปกติ

False

หมายถึง ไม่อนุญาตให้คอนโทรล Label ตอบสนองเหตุการณ์ใดๆ ที่เกิดขึ้นทั้งสิ้น

clip_image037

รูปที่ 6-25 แสดงคอนโทรล Label ที่คุณสมบัติ Enabled=True และ Enabled=False


Font

คุณสมบัตินี้มีหน้าที่สำหรับกำหนดชื่อของฟอนต์ รูปแบบของฟอนต์ ลักษณะของฟอนต์ และขนาดของฟอนต์ มีรูปแบบการใช้งานดังนี้

Label1.Font.Name [=fontname]
Label1.Font.Size [=points]
Label1.Font.Bold [=boolean]
Label1.Font.Italic [=boolean]
Label1.Font.Strikethru [=boolean]
Label1.Font.Underline [=boolean]

  • ตัวแปร fontname หมายถึง ชื่อของฟอนต์ที่คุณต้องการใช้ ถ้าคุณต้องการแสดงภาษาไทย คุณต้องเลือกฟอนต์ที่ลงท้ายด้วย UPC เช่น "AngsanaUPC" เป็นต้น
  • ตัวแปร points หมายถึงขนาดของฟอนต์ มีหน่วยเป็นจุด คุณควรใช้เลขจำนวนเต็มเพื่อกำหนดขนาดฟอนต์ การใช้งานระดับปกติ มีขนาด 4 pts
  • ตัวแปร boolean หมายถึง กำหนดสถานะของฟอนต์นั้นๆ เช่น Bold (ตัวหนา), Italic (ตัวเอน), Strikethru (ตัวขีดฆ่า) และ Underline (ตัวขีดเส้นใต้)

Height, Width, Left และ Top

คุณสมบัติ Height และ Width มีหน้าที่สำหรับคืนค่า หรือกำหนดขนาดความกว้าง และความสูงของคอนโทรล ส่วนคุณสมบัติ Left และ Top มีหน้าที่สำหรับคืนค่า หรือกำหนดตำแหน่งของคอนโทรล Label คุณสมบัติทั้ง 4 ตัวจะมีความสัมพันธ์กัน เมื่อคุณมีการเปลี่ยนขนาด หรือเปลี่ยนตำแหน่งของคอนโทรล Label  คุณสมบัติทั้ง 4 ตัวจะเปลี่ยนไปโดยอัตโนมัติ มีรูปแบบการใช้งานดังนี้

Label1.Height [=number]
Label1.Width [=number]
Label1.Left [=x]
Label1.Top [=y]

ตัวแปร number หมายถึง เลขจำนวนเต็ม Integer ที่เป็นความสูง หรือความกว้างของคอนโทรล

ตัวแปร x,y หมายถึง ตำแหน่งของคอนโทรล โดยวัดเทียบจากมุมซ้ายบนของคอนโทรล กับมุมซ้ายบนใต้แถบ title bar ของ Form เป็นพิกัดแบบคู่ลำดับ (Co-ordinate) แต่ถ้าคอนโทรล Label วางอยู่ในคอนโทรล Frame จะวัดเทียบกับมุมซ้ายบน ของคอนโทรล Frame แทน

เนื่องจากว่าคุณสามารถใช้คุณสมบัติ Left และ Top เพื่อเคลื่อนย้ายตำแหน่งของคอนโทรลได้ เช่นเดียวกับเมธอด Move มีคำแนะนำว่า ถ้าคุณต้องการเคลื่อนย้ายคอนโทรล ให้ใช้เมธอด Move แทนการกำหนดคุณสมบัติ Left, Top เพราะสามารถประมวลผลได้เร็วกว่า


Index

คุณสมบัตินี้มีหน้าที่สำหรับคืนค่า หรือกำหนดให้คอนโทรล Label สามารถใช้งานในรูปแบบอาร์เรย์ได้ โดยที่คอนโทรลแต่ละตัวสามารถมีชื่อ (คุณสมบัติ Name) เหมือนกันได้ แต่ต่างกันที่ค่าดัชนี หรือค่า Index นั่นเอง สำหรับในการใช้งานคอนโทรลอาร์เรย์  จะเหมือนกับตัวแปรอาร์เรย์ทุกประการ มีรูปแบบการใช้งานดังนี้

Label1[(number)].Index

ตัวแปร number หมายถึง เลขจำนวนเต็ม Integer ซึ่งเป็นค่า Index ที่ทำให้คอนโทรลแต่ละตัว มีชื่อต่างกัน


MouseIcon

คุณสมบัตินี้มีหน้าที่กำหนดรูปแบบของเมาส์ เมื่อผู้ใช้เลื่อนเมาส์เข้ามาบริเวณคอนโทรล มีข้อแม้ว่า คุณต้องกำหนดให้คุณสมบัติ MousePointer=99 เท่านั้น เป็นการกำหนดลักษณะเมาส์ตามที่คุณต้องการ โดยที่คุณต้องมีไฟล์ไอคอน หรือไฟล์เคอร์เซอร์ด้วย มีรูปแบบการใช้งานดังนี้

Label1.MouseIcon = LoadPicture(pathname)
Label1.MouseIcon [= picture]

ตัวแปร pathname หมายถึง พาธที่เก็บชื่อไฟล์ไอคอน (*.ico) หรือไฟล์เคอร์เซอร์ (*.cur)
ตัวแปร picture หมายถึง ชื่อไฟล์ไอคอน (*.ico) หรือไฟล์เคอร์เซอร์ (*.cur) คุณระบุแต่ชื่อไฟล์เท่านั้น


MousePointer

คุณสมบัตินี้มีหน้าที่สำหรับ กำหนดรูปแบบของเมาส์ มีรูปแบบการใช้งานดังนี้

Label1.MousePointer [= value]

ตัวแปร Value เป็นรูปแบบของเมาส์ ซึ่งมีอยู่ด้วยกัน 16 แบบดังตารางต่อไปนี้

ค่าคงที่

ค่าตัวเลข

รายละเอียด

vbDefault

0

(Default) ลักษณะของเมาส์ ขึ้นอยู่กับอ๊อบเจ็กต์ หรือการทำงานในขณะนั้น

vbArrow

1

Arrow -กำหนดให้เมาส์แสดงในลักษณะ clip_image014[2]

vbCrosshair

2

Cross (crosshair pointer)-กำหนดให้เมาส์แสดงในลักษณะ clip_image015[1]

vbIbeam

3

I beam-กำหนดให้เมาส์แสดงในลักษณะ clip_image016[1]

vbIconPointer

4

กำหนดให้เมาส์แสดงในลักษณะ clip_image014[3]

vbSizePointer

5

กำหนดให้เมาส์แสดงในลักษณะ clip_image017[2]

vbSizeNESW

6

กำหนดให้เมาส์แสดงในลักษณะ clip_image018[1]

vbSizeNS

7

กำหนดให้เมาส์แสดงในลักษณะ clip_image019[1]

vbSizeNWSE

8

กำหนดให้เมาส์แสดงในลักษณะ clip_image020[1]

vbSizeWE

9

กำหนดให้เมาส์แสดงในลักษณะ clip_image021[1]

vbUpArrow

10

กำหนดให้เมาส์แสดงในลักษณะ clip_image022[1]

vbHourglass

11

กำหนดให้เมาส์แสดงในลักษณะ clip_image023[1]

vbNoDrop

12

กำหนดให้เมาส์แสดงในลักษณะ clip_image024[1]

vbArrowHourglass

13

กำหนดให้เมาส์แสดงในลักษณะ clip_image025[1]

vbArrowQuestion

14

กำหนดให้เมาส์แสดงในลักษณะ clip_image026[1]

vbSizeAll

15

กำหนดให้เมาส์แสดงในลักษณะ clip_image017[3]

vbCustom

99

กำหนดให้ลักษณะของเมาส์ ขึ้นอยู่กับคุณสมบัติ MouseIcon เป็นการกำหนดลักษณะของเมาส์ตามที่คุณต้องการ


Name

คุณสมบัตินี้มีหน้าที่สำหรับกำหนดชื่อให้กับคอนโทรล เพื่อใช้สำหรับอ้างอิงในการเขียนโค้ด  และคุณจะต้องกำหนดทุกครั้ง ในขณะออกแบบ ที่หน้าต่างคุณสมบัติ ส่วนในขณะรัน คุณไม่สามารถแก้ไขชื่อนี้ได้ อ่านได้อย่างเดียว ถ้าคุณมีการแก้ไขชื่อ จะเกิดข้อผิดพลาดทันที และถ้าคุณมีการใช้งานคอนโทรล มากกว่า 1 ตัว คุณไม่สามารถตั้งชื่อซ้ำกันได้ โดยคุณอาจใช้คำนำหน้า ที่ไมโครซอฟท์แนะนำ เพื่อตั้งชื่อคอนโทรล ให้สอดคล้องกับหน้าที่ของมันก็ได้ เช่น lblPrompt, lblDisplay เป็นต้น ซึ่งชื่อนี้จะใช้อ้างอิงในการเขียนโค้ด


Parent

คุณสมบัตินี้มีหน้าที่สำหรับรายงาน ฟอร์มหรืออ๊อบเจ็กต์ที่บรรจุคอนโทรลไว้ คุณสมบัตินี้คุณสามารถอ่านค่าได้เท่านั้น ไม่สามารถกำหนด่าได้ มีรูปแบบการใช้งานดังนี้

Label1.Parent


TabIndex

คุณสมบัตินี้มีหน้าที่สำหรับคืนค่า หรือกำหนดลำดับให้คอนโทรล ในการรับโฟกัส เมื่อผู้ใช้กดคีย์ Tab ที่คีย์บอร์ด คุณสามารถกำหนดได้ทั้งในขณะออกแบบ และรันแอพพลิเคชัน มีรูปแบบการใช้งานดังนี้

Label1.TabIndex [=index]

ตัวแปร index หมายถึง เลขจำนวนเต็มบวก Integer เท่านั้น ซึ่งเป็นลำดับโฟกัสของคอนโทรล Label ที่มีค่าตั้งแต่ 0 ถึง n-1 โดยที่ n หมายถึงจำนวนคอนโทรลที่อยู่บนฟอร์ม เรียงลำดับจากน้อยไปมาก และถ้าคุณกำหนดคุณสมบัติ TabIndex เป็นค่าลบ จะเกิด error ทันที


ToolTipText

คุณสมบัตินี้มีหน้าที่สำหรับกำหนดข้อความ ToolTip เมื่อผู้ใช้ เลื่อนเมาส์มาบริเวณคอนโทรล Label มีรูปแบบการใช้งานดังนี้

Label1.ToolTipText [=string]

ตัวแปร string หมายถึง ข้อความที่คุณต้องการทำ ToolTip


UseMnemonic

คุณสมบัตินี้มีหน้าที่สำหรับคืนค่า หรือกำหนดให้ VB เปลี่ยนเงื่อนไขสำหรับเครื่องหมาย & (ampersand) โดยปกติแล้ว เมื่อเครื่องหมาย & อยู่หน้าอักษรตัวใด อักษรตัวดังกล่าวจะทำหน้าที่เป็น access key ทันที และเมื่อคุณต้องการแสดงเครื่องหมาย & คุณจะต้องพิมพ์เครื่องหมาย & 2 ตัวติดกัน แต่ด้วยคุณสมบัตินี้ จะทำให้คุณสามารถแสดงเครื่องหมาย & ได้ง่ายขึ้น มีรูปแบบการใช้งานดังนี้

Label1.UseMnemonic [= boolean]

ตัวแปร boolean คุณสามารถกำหนดค่าได้ดังนี้

กำหนดค่า

รายละเอียด

True

(Default) หมายถึง เครื่องหมาย & ทำหน้าที่ให้ตัวอักษรที่อยู่ถัดไปเป็น access key ตามปกติ

False

หมายถึง เครื่องหมาย & เป็นเพียงอักษรตัวหนึ่งเท่านั้น คุณสามารถแสดงให้ผู้ใช้เห็นได้ โดยที่ไม่ทำให้อักษรตัวถัดไปเป็น access key แต่อย่างใด


Visible

คุณสมบัตินี้มีหน้าที่สำหรับคืนค่า หรือกำหนดให้คอนโทรล Label สามารถมองเห็น หรือถูกซ่อนในขณะรัน มีรูปแบบการใช้งานดังนี้

Label1.Visible [=boolean]

ตัวแปร boolean คุณสามารถกำหนดค่าได้ดังนี้

กำหนดค่า

รายละเอียด

True

(Default) หมายถึง คอนโทรลสามารถมองเห็นได้ตามปกติ

False

หมายถึง คอนโทรลจะถูกซ่อนอยู่ในหน่วยความจำ ผู้ใช้ไม่สามารถเห็นได้


WordWrap

คุณสมบัตินี้มีหน้าที่สำหรับกำหนดให้คอนโทรล Label สามารถขยายขนาด ในกรณีที่ข้อความ มีความยาวเกินกว่า ขนาดของคอนโทรล เพื่อให้สามารถแสดงข้อความได้หมด แต่คุณต้องกำหนดให้ คุณสมบัติ AutoSize=True เสียก่อน จึงจะสามารถใช้คุณสมบัตินี้ได้ มีรูปแบบการใช้งานดังนี้

Label1.WordWrap [=boolean]

ตัวแปร boolean คุณสามารถกำหนดค่าได้ดังนี้

กำหนดค่า

รายละเอียด

True

หมายถึง กำหนดให้คอนโทรล Label ขยายขนาดความสูง โดยที่ความกว้างของคอนโทรลคงที่ เพื่อแสดงข้อความให้ครบถ้วน กล่าวคือ ข้อความที่เกินออกไป จะถูกแสดงให้พอดี โดยการขยายขนาด คอนโทรลในแนวดิ่งนั่นเอง

False

(Default) หมายถึง กำหนดให้คอนโทรล Label ขยายขนาดความกว้าง โดยที่ความสูงคงที่ เพื่อแสดงข้อความให้ครบถ้วนเช่นกัน ซึ่งกรณีนี้เป็นการขยายตามแนวนอน

clip_image038

รูปที่ 6-26 แสดงคอนโทรล Label ที่กำหนดคุณสมบัติ WordWrap ต่างกัน


เมธอดของคอนโทรล Label

สำหรับเมธอดของคอนโทรลที่น่าสนใจ มีดังนี้

Move

เมธอดนี้มีหน้าที่สำหรับกำหนดให้คอนโทรล Label เคลื่อนย้ายตำแหน่ง หรือปรับขนาดของคอนโทรล โดยหน่วยวัดที่ใช้ จะขึ้นอยู่กับคุณสมบัติ ScaleMode ปกติแล้วจะมีหน่วยเป็น Twip มีรูปแบบการใช้งานดังนี้

Label1.Move left[,top,width,height]

รายละเอียดของแต่ละตัวมีดังนี้

ตัวแปร

รายละเอียด

left

คุณต้องกำหนด หมายถึง เลขจำนวนเต็มที่เป็นตำแหน่งของคอนโทรลในแนวแกน x โดยวัดจากมุมซ้ายบน ของคอนโทรลกับ มุมซ้ายบนใต้แถบ title bar ของฟอร์ม ถ้าคอนโทรล Label อยู่ในคอนโทรล Frame จะวัดเทียบกับมุมซ้ายบนของคอนโทรล Frame แทน

top

(Optional) หมายถึง เลขจำนวนเต็มที่เป็นตำแหน่งของคอนโทรลในแนวแกน y โดยวัดจากมุมซ้ายบน ของคอนโทรลกับ มุมซ้ายบนใต้แถบ title bar ของฟอร์มเช่นกัน ถ้าคอนโทรล Label อยู่ในคอนโทรล Frame จะวัดเทียบกับ มุมซ้ายบนของคอนโทรล Frame แทน

width

(Optional) หมายถึงเลขจำนวนเต็มที่เป็นความกว้างของคอนโทรล Label

height

(Optional) หมายถึงเลขจำนวนเต็มที่เป็นความสูงของคอนโทรล Label


Refresh

เมธอดนี้มีหน้าที่สำหรับปรับปรุงข้อความที่อยู่บนตัวคอนโทรล ให้ทันสมัย หรือ update ทันที มีรูปแบบการใช้งานดังนี้

Label1.Refresh


เหตุการณ์ของคอนโทรล Label

สำหรับเหตุการณ์ที่คอนโทรล Label สนับสนุนมีดังนี้

Label1_Change ( )

เป็นเหตุการณ์ที่เกิดขึ้น เมื่อคุณต้องการแก้ไขข้อความเดิม (คุณสมบัติ Caption) ที่อยู่บนตัวคอนโทรล Label ในขณะรัน มีรูปแบบการใช้งานดังนี้

Private Sub Label1_Change([index As Integer])

End Sub

อาร์กิวเมนต์ index หมายถึง เลขจำนวนเต็ม Integer ที่เป็นค่าดัชนี จะใช้ในกรณีที่เป็นคอนโทรลอาร์เรย์ ซึ่งจะเป็นตัวบอกความแตกต่าง ของคอนโทรลอาร์เรย์แต่ละตัว


Label1_Click ( )

เป็นเหตุการณ์ที่เกิดขึ้น เมื่อผู้ใช้คลิ๊กเมาส์ด้วยปุ่มซ้าย ที่บริเวณตัวคอนโทรล Label มีรูปแบบการใช้งานดังนี้

Private Sub Label1_Click([index As Integer])

End Sub

อาร์กิวเมนต์ index หมายถึง เลขจำนวนเต็ม Integer ที่เป็นค่าดัชนี จะใช้ในกรณีที่เป็นคอนโทรลอาร์เรย์ ซึ่งจะเป็นตัวบอกความแตกต่าง ของคอนโทรลอาร์เรย์แต่ละตัว


Label1_DblClick ( )

เป็นเหตุการณ์ที่เกิดขึ้น เมื่อผู้ใช้ดับเบิลคลิ๊กที่บริเวณตัวคอนโทรล มีรูปแบบการใช้งานดังนี้

Private Sub Label1_DblClick (index As Integer)

End Sub

อาร์กิวเมนต์ index หมายถึง เลขจำนวนเต็ม Integer ที่เป็นค่าดัชนี จะใช้ในกรณีที่เป็นคอนโทรลอาร์เรย์ ซึ่งจะเป็นตัวบอกความแตกต่าง ของคอนโทรลอาร์เรย์แต่ละตัว


Label1_DragDrop ( )

เป็นเหตุการณ์ที่เกิดขึ้น เมื่อผู้ใช้มีการลาก (drag) แล้ววาง (drop) โดยที่เหตุการณ์ดังกล่าวจะต้องเสร็จสิ้น และสมบูรณ์ มีรูปแบบการใช้งานดังนี้

Private Sub Label11_DragDrop([index As Integer,]source As Control, x As Single, y As Single)

End Sub

อาร์กิวเมนต์ index หมายถึง เลขจำนวนเต็ม Integer ที่เป็นค่าดัชนี จะใช้ในกรณีที่เป็นคอนโทรลอาร์เรย์ ซึ่งจะเป็นตัวบอกความแตกต่าง ของคอนโทรลอาร์เรย์แต่ละตัว

อาร์ กิวเมนต์ source หมายถึง คอนโทรลที่เป็นจุดเริ่มต้นเหตุการณ์ลากแล้ววาง (drag-drop)

อาร์กิวเมนต์ x,y หมายถึง พิกัดคู่ลำดับ co-ordinate ซึ่งเป็นตำแหน่งของเมาส์พอยน์เตอร์ บนตัวคอนโทรลปลายทาง ที่ผู้ใช้ต้องการวาง ซึ่งถือว่า กระบวนการลากแล้ววาง (drag-drop) เสร็จสิ้น และสมบูรณ์แล้ว


Label1_DragOver ( )

เป็นเหตุการณ์ที่เกิดขึ้น เมื่อผู้ใช้มีการลากแล้ววาง (drag-drop) จากคอนโทรลอื่นๆ ซึ่งลากผ่านมาเหนือบริเวณที่ไม่ใช่คอนโทรลปลายทาง คุณสามารถใช้เหตุการณ์นี้ เพื่อดักจับเมาส์พอยน์เตอร์ว่า อยู่ตำแหน่งใด มีรูปแบบการใช้งานดังนี้

Private Sub Label1_DragOver([index As Integer,]source As Control, x As Single, y As Single, state As Integer)

End Sub

อาร์กิวเมนต์ index หมายถึง เลขจำนวนเต็ม Integer ที่เป็นค่าดัชนี จะใช้ในกรณีที่เป็นคอนโทรลอาร์เรย์ ซึ่งจะเป็นตัวบอกความแตกต่าง ของคอนโทรลอาร์เรย์แต่ละตัว

อาร์ กิวเมนต์ source หมายถึง คอนโทรลที่เป็นจุดเริ่มต้นเหตุการณ์ลากแล้ววาง (drag-drop)

อาร์กิวเมนต์ x,y หมายถึง พิกัดคู่ลำดับ co-ordinate ซึ่งเป็นตำแหน่งของเมาส์พอยน์เตอร์ บนตัวคอนโทรลปลายทาง ที่ผู้ใช้ต้องการวาง ซึ่งถือว่า กระบวนการลากแล้ววาง (drag-drop) เสร็จสิ้น และสมบูรณ์แล้ว

อาร์กิวเมนต์ state หมายถึง เลขจำนวนเต็ม Integer ที่บอกสถานะของกระบวนการ ลากแล้ววาง ซึ่งมีความหมายดังนี้

  • 0-Enter หมายถึง คอนโทรลต้นทาง (source control) กำลังถูกลากเข้ามาอยู่เหนือบริเวณเป้าหมาย
  • 1-Leave หมายถึง คอนโทรลต้นทาง (source control) กำลังถูกลากออกจากเป้าหมาย
  • 2-Over หมายถึง คอนโทรลต้นทาง (source control) กำลังถูกลากไปมา เหนือบริเวณเป้าหมาย

Label1_MouseDown ( ) และ Label1_MouseUp ( )

เป็นเหตุการณ์ที่เกิดขึ้น เมื่อผู้ใช้กดปุ่มซ้ายของเมาส์ บริเวณตัวคอนโทรล ก็จะทำให้เกิดเหตุการณ์ MouseDown และเมื่อผู้ใช้ปล่อยเมาส์ บริเวณตัวคอนโทรล ก็จะทำให้เกิดเหตุการณ์ MouseUp มีรูปแบบการใช้งานดังนี้

Private Sub Label1_MouseDown([index As Integer,]button As Integer, shift As Integer, x As Single, y As Single)

End Sub

Private Sub Label1 _MouseUp([index As Integer,]button As Integer, shift As Integer, x As Single, y As Single)

End Sub

อาร์กิวเมนต์ index หมายถึง เลขจำนวนเต็ม Integer ที่เป็นค่าดัชนี จะใช้ในกรณีที่เป็นคอนโทรลอาร์เรย์ ซึ่งจะเป็นตัวบอกความแตกต่าง ของคอนโทรลอาร์เรย์แต่ละตัว

อาร์กิวเมนต์ button หมายถึง ปุ่มของเมาส์ ซึ่งเป็นตัวทำให้เกิดเหตุการณ์ MouseDown และ MouseUp แต่ละปุ่มของเมาส์จะถูกจัดเก็บในลักษณะบิต (bit) โดยที่แต่ละบิตมีความหมายดังนี้

ค่าคงที่ (Button)

ค่าตัวเลข

รายละเอียด

vbLeftButton

1

เมื่อปุ่มซ้ายของเมาส์ถูกกด

vbRightButton

2

เมื่อปุ่มขวาของเมาส์ถูกกด

vbMiddleButton

4

เมื่อปุ่มกลางของเมาส์ถูกกด

อาร์กิวเมนต์ shift หมายถึง สถานะของปุ่ม shift, Ctrl และ Alt โดยที่ปุ่มทั้ง 3 ปุ่ม   ถูกจัดเก็บในรูปแบบบิตเช่นกัน ซึ่งผู้ใช้สามารถกดพร้อมๆ กันได้ มักจะใช้ค่าบิตมาตรวจสอบสถานะของปุ่มทั้ง 3 เสมอ มีความหมายดังนี้

ค่าคงที่ (Shift)

ค่าตัวเลข

รายละเอียด

vbShiftMask

1

ปุ่ม SHIFT ถูกกด

vbCtrlMask

2

ปุ่ม CTRL ถูกกด

vbAltMask

4

ปุ่ม ALT ถูกกด

ถ้าผู้ใช้มีการกดปุ่มดังกล่าว พร้อมๆ กัน ไม่ว่าจะเป็นปุ่มใดก็ตาม จะใช้ผลบวกของแต่ละบิตรวมกัน เช่น สมมติว่าผู้ใช้กดปุ่ม Shift+Alt จะมีค่าเท่ากับ 5 เป็นต้น

อาร์กิวเมนต์ x,y หมายถึง พิกัดคู่ลำดับ (co-ordinate) ของเมาส์พอยน์เตอร์ ซึ่งเป็นตำแหน่งที่เกิดเหตุการณ์ MouseDown หรือ MouseUp


Label1_MouseMove ( )

เป็นเหตุการณ์ที่เกิดขึ้น เมื่อผู้ใช้เลื่อนเมาส์ไปมาบริเวณคอนโทรล Label มีรูปแบบการใช้งานดังนี้

Private Sub Label1_MouseMove([index As Integer,] button As Integer, shift As Integer, x As Single, y As Single)

End Sub

อาร์กิวเมนต์ index หมายถึง เลขจำนวนเต็ม Integer ที่เป็นค่าดัชนี จะใช้ในกรณีที่เป็นคอนโทรลอาร์เรย์ ซึ่งจะเป็นตัวบอกความแตกต่าง ของคอนโทรลอาร์เรย์แต่ละตัว

อาร์กิวเมนต์ button หมายถึง ปุ่มของเมาส์ ซึ่งเป็นตัวทำให้เกิดเหตุการณ์ MouseDown และ MouseUp แต่ละปุ่มของเมาส์จะถูกจัดเก็บในลักษณะบิต (bit) โดยที่แต่ละบิตมีความหมายดังนี้

ค่าคงที่ (Button)

ค่าตัวเลข

รายละเอียด

vbLeftButton

1

เมื่อปุ่มซ้ายของเมาส์ถูกกด

vbRightButton

2

เมื่อปุ่มขวาของเมาส์ถูกกด

vbMiddleButton

4

เมื่อปุ่มกลางของเมาส์ถูกกด

อาร์กิวเมนต์ shift หมายถึง สถานะของปุ่ม shift, Ctrl และ Alt โดยที่ปุ่มทั้ง 3 ปุ่ม   ถูกจัดเก็บในรูปแบบบิตเช่นกัน ซึ่งผู้ใช้สามารถกดพร้อมๆ กันได้ มักจะใช้ค่าบิตมาตรวจสอบสถานะของปุ่มทั้ง 3 เสมอ มีความหมายดังนี้

ค่าคงที่ (Shift)

ค่าตัวเลข

รายละเอียด

vbShiftMask

1

ปุ่ม SHIFT ถูกกด

vbCtrlMask

2

ปุ่ม CTRL ถูกกด

vbAltMask

4

ปุ่ม ALT ถูกกด

ถ้าผู้ใช้มีการกดปุ่มดังกล่าว พร้อมๆ กัน ไม่ว่าจะเป็นปุ่มใดก็ตาม จะใช้ผลบวกของแต่ละบิตรวมกัน เช่น สมมติว่าผู้ใช้กดปุ่ม Shift+Alt จะมีค่าเท่ากับ 5 เป็นต้น

อาร์กิวเมนต์ x,y หมายถึง พิกัดคู่ลำดับ (co-ordinate) ของเมาส์พอยน์เตอร์ ซึ่งเป็นตำแหน่งที่เกิดเหตุการณ์ MouseDown หรือ MouseUp


การใช้งานคอนโทรล TextBox

คอนโทรล TextBox จะมีหน้าที่สำหรับใช้แสดง หรือรับข้อมูลจากผู้ใช้ โดยยอมให้ผู้ใช้สามารถแก้ไขข้อมูลดังกล่าวได้ด้วย คุณสามารถเลือกใช้คอนโทรล TextBox โดยเลือกที่ clip_image039 บนทูลบ๊อกซ์ ดังรูป

clip_image040

รูปที่ 6-27 แสดงคอนโทรล TextBox เมื่อปรากฎบนฟอร์ม

ข้อมูลที่แสดง หรือข้อมูลที่รับจากผู้ใช้ จะถูกเก็บไว้ที่คุณสมบัติ Text เสมอ ถือได้ว่า คุณสมบัตินี้มีความสำคัญมากที่สุด ในการใช้งานคอนโทรล TextBox ในกรณีที่ข้อมูลที่เข้ามาเป็นตัวเลข ข้อมูลดังกล่าวจะถือว่าเป็นอักษรที่เป็นตัวเลข มักจะใช้ฟังก์ชัน Val ( ) เพื่อแปลงฐานะจากอักษรตัวเลข ไปเป็น ตัวเลข เพื่อที่จะสามารถนำไปใช้คำนวนได้เต็มรูปแบบ โดยปกติแล้วมักจะใช้ควบคู่กับคอนโทรล Label เสมอ ซึ่งคุณจะพบเห็นได้ทั่วไป ดังรูป เป็นตัวอย่างที่คุณพบเห็นจนชินตามากที่สุด

clip_image041

รูปที่ 6-28 แสดงการใช้งานคอนโทรล Label ควบคู่กับคอนโทรล TextBox ในไดอะล๊อกบ๊อกซ์เซฟไฟล์

ในการตั้งชื่อ (คุณสมบัติ Name) ให้กับคอนโทรล TextBox คุณควรจะใช้คำนำหน้าว่า txt เช่น txtUsername, txtId เป็นต้น สำหรับคุณสมบัติตัวแรกที่คุณควรทราบก็คือคุณสมบัติ Text ซึ่งมีรูปแบบการใช้งานดังนี้

Text1.Text [=string]

ตัวแปร string หมายถึง ข้อความที่คุณต้องการแสดง หรือเป็นข้อความที่คอนโทรล TextBox เก็บอยู่ ถ้าเป็นตัวเลข จะอยู่ในฐานะ ตัวอักษรตัวเลข


คุณสมบัติของคอนโทรล TextBox

สำหรับคุณสมบัติอื่นๆ ที่น่าสนใจของคอนโทรล TextBox   มีดังนี้

Alignment

คุณสมบัตินี้มีหน้าที่คืนค่า หรือกำหนดรูปแบบการจัดวางของข้อความ ที่ปรากฎอยู่ในคอนโทรล TextBox คุณสามารถแก้ไขคุณสมบัตินี้ ได้ทั้งในขณะออกแบบ และขณะรัน มีรูปแบบการใช้งานดังนี้

Text1.Alignment [=number]

ตัวแปร number คุณสามารถกำหนดค่าได้ดังนี้

ค่าคงที่

ค่าตัวเลข

รายละเอียด

VbLeftJustify

0

(Default) ข้อความจะอยู่ชิดซ้าย

VbRightJustify

1

ข้อความจะอยู่ชิดขวา

VbCenter

2

ข้อความจะอยู่กึ่งกลาง

clip_image042

รูปที่ 6-29 แสดงข้อความบนคอนโทรล TextBox ที่กำหนดคุณสมบัติ Alignment แบบ 0, 1 และ 2


Appearance

คุณสมบัตินี้มีหน้าที่สำหรับคืนค่า หรือกำหนดรูปแบบการปรากฎของคอนโทรล TextBox บนฟอร์ม ในขณะรัน คุณสมบัตินี้ คุณสามารถอ่านค่า ได้เพียงอย่างเดียวเท่านั้น มีรูปแบบการใช้งานดังนี้

Text1.Appearance=[value]

ตัวแปร value หมายถึง เลขจำนวนเต็ม Integer ซึ่งมีความหมายดังนี้

กำหนดค่า

รายละเอียด

0

Flat หมายถึง ลักษณะของคอนโทรลเป็นแบบ 2 มิติ ( 2D)

1

(Default) แสดงคอนโทรลในลักษณะ 3 มิติ (3D)

clip_image043

รูปที่ 6-30 แสดงคอนโทรล TextBox แบบ Flat และ 3D ที่ปรากฎอยู่บนฟอร์ม


BackColor และ ForeColor

คุณสมบัติ BackColor มีหน้าที่สำหรับ กำหนดสีพื้นหลัง (Background) ของตัวคอนโทรล TextBox และคุณสมบัติ ForeColor มีหน้าที่สำหรับ กำหนดสีของข้อความที่ปรากฎในคอนโทรล TextBox  มีรูปแบบการใช้งานดังนี้

Text1.BackColor [= color]
Text1.ForeColor [= color]

ตัวแปร color คือสีที่คุณต้องการ ซึ่งจะเป็นแบบการผสมจากถาดแม่สี RGB ซึ่งคุณสามารถกำหนดได้ถึง 16,777,215 สี  (&HFFFFFF&) หรือใช้ฟังก์ชัน QBColor ( ) ซึ่ง สนับสนุน 16 สีก็ได้ ถ้าคุณกำหนดสีในขณะออกแบบ จะมีแท็บสี 2 แท็บให้คุณเลือก คือ

  • แท็บ Palette หมายถึง ต้องการใช้สีจากการผสมของแม่สี RGB ตามปกติ

clip_image007[2]

รูปที่ 6-31แสดงแท็บ Palette

  • แท็บ System หมายถึง ต้องการใช้สี โดยเลือกจากตัวอย่างของสีที่ควรจะเป็น ในสภาวะต่างๆ ซึ่งขึ้นอยู่กับการกำหนดสีใน Control Panel ด้วย เช่น ขณะถูก Hilight, Disable ฯลฯ เป็นต้น เป็นการอำนวยความสะดวกให้คุณ ในกรณีที่ คุณต้องการใช้สีที่เป็นมาตรฐาน และเหมาะสมกับสภาวะนั้นๆ

clip_image008[2]

รูปที่ 6-32 แสดงแท็บ System

clip_image044

รูปที่ 6-33 แสดงผลของการกำหนดคุณสมบัติ BackColor และ ForeColor ในคอนโทรล TextBox


BorderStyle

คุณสมบัตินี้มีหน้าที่สำหรับกำหนดให้มีกรอบล้อมรอบตัวคอนโทรล TextBox  มีรูปแบบการใช้งานดังนี้

Text1.BorderStyle = [value]

ตัวแปร value คุณสามารถกำหนดค่าได้ดังนี้

กำหนดค่า

รายละเอียด

0

(Default) หมายถึง กำหนดไม่ให้มีกรอบล้อมรอบ

1

หมายถึง กำหนดให้มีกรอบล้อมรอบตัวคอนโทรล

clip_image045

รูปที่ 6-34 แสดงคอนโทรล TextBox ที่กำหนดคุณสมบัติ BorderStyle =0 และ 1 ตามลำดับ


Container

คุณสมบัตินี้มีหน้าที่สำหรับคืนค่า หรือกำหนดชื่อคอนโทรลบรรจุ (container) ซึ่งบรรจุคอนโทรล TextBox ไว้ คุณสามารถอ่านค่าคุณสมบัตินี้ ได้ในขณะรันเท่านั้น ขณะออกแบบ ไม่สามารถใช้งานได้ มีรูปแบบการใช้งานดังนี้

Set Text1.Container [=container]

ตัวแปร container หมายถึง ชื่อของคอนโทรล ซึ่งบรรจุคอนโทรล TextBox ไว้ สำหรับคอนโทรลที่สามารถเป็นตัวบรรจุได้ คือ

  • คอนโทรล Frame
  • คอนโทรล PictureBox
  • คอนโทรล SSTab

DragIcon

คุณสมบัตินี้มีหน้าที่สำหรับคืนค่า หรือกำหนดไอคอน เพื่อใช้กับเมาส์พอยต์เตอร์ เมื่อเกิดเหตุการณ์ ลากแล้ววาง (drag-drop) มีรูปแบบการใช้งานดังนี้

Text1.DragIcon [= icon]

ตัวแปร icon หมายถึง ชื่อไฟล์ไอคอน (*.ico) หรือไฟล์เคอร์เซอร์ (*.cur) ที่คุณต้องการนำมาใช้เป็นไอคอน

ถ้าคุณต้องการกำหนดในขณะออกแบบ คุณสามารถเลือกได้จากไดอะล๊อกบ๊อกซ์ Load Icon ดังรูป แต่ถ้าคุณต้องการกำหนดในขณะรัน คุณต้องใช้ฟังก์ชัน LoadPicture ( )   สำหรับโหลดไอคอนตามที่คุณต้องการ

clip_image012[2]

รูปที่ 6-35 แสดงไดอะล๊อกบ๊อกซ์ Load Icon


DragMode

คุณสมบัตินี้มีหน้าที่สำหรับคืนค่า หรือกำหนดโหมด (Mode) ที่จะทำให้เกิดเหตุการณ์ลากแล้ววาง (drag-drop) มีรูปแบบการใช้งานดังนี้

Text1.DragMode [= number]

ตัวแปร number หมายถึง เลขจำนวนเต็ม Integer ซึ่งเป็นตัวกำหนดโหมด มีความหมายดังนี้

ค่าคงที่

ค่าตัวเลข

รายละเอียด

VbManual

0

(Default) Manual หมายถึง ผู้ใช้จะต้องเป็นผู้กระทำเองทั้งหมด ตั้งแต่การลาก จนถึงวาง

VbAutomatic

1

Automatic หมายถึง ผู้ใช้เพียงแต่คลิ๊กที่คอนโทรลต้นทางเท่านั้น แล้ว VB จะสร้างเหตุการณ์ลากแล้ววาง ให้สมบูรณ์โดยอัตโนมัติ


Enabled

คุณสมบัตินี้มีหน้าที่คืนค่า หรือกำหนดให้คอนโทรล TextBox   สามารถตอบรับ หรือตอบสนองเหตุการณ์ต่างๆ ที่อาจเกิดจากผู้ใช้ หรือเกิดจากการประมวลผลได้ มีรูปแบบการใช้งานดังนี้

Text1.Enabled [=boolean]

ตัวแปร boolean คุณสามารถกำหนดค่าได้ดังนี้

กำหนดค่า

รายละเอียด

True

(Default) หมายถึง ยอมให้คอนโทรล TextBox สามารถตอบสนองเหตุการณ์ต่างๆ ได้ตามปกติ

False

หมายถึง ไม่อนุญาตให้คอนโทรล TextBox ตอบสนองเหตุการณ์ใดๆ ที่เกิดขึ้นทั้งสิ้น

clip_image046

รูปที่ 6-36 แสดงรูปแบบคอนโทรล TextBox แบบ Enabled=True และ Enabled=False


Font

คุณสมบัตินี้มีหน้าที่สำหรับกำหนดรูปแบบของฟอนต์ ลักษณะของฟอนต์ และขนาดของฟอนต์ มีรูปแบบการใช้งานดังนี้

Text1.Font.Name [=fontname]
Text1.Font.Size [=points]
Text1.Font.Bold [=boolean]
Text1.Font.Italic [=boolean]
Text1.Font.Strikethru [=boolean]
Text1.Font.Underline [=boolean]

  • ตัวแปร fontname หมายถึง ชื่อของฟอนต์ที่คุณต้องการใช้ ถ้าคุณต้องการแสดงภาษาไทย คุณต้องเลือกฟอนต์ที่ลงท้ายด้วย UPC เช่น "AngsanaUPC" เป็นต้น
  • ตัวแปร points หมายถึงขนาดของฟอนต์ มีหน่วยเป็นจุด คุณควรใช้เลขจำนวนเต็มเพื่อกำหนดขนาดฟอนต์ การใช้งานระดับปกติ มีขนาด 4 pts
  • ตัวแปร boolean หมายถึง กำหนดสถานะของฟอนต์นั้นๆ เช่น Bold (ตัวหนา), Italic (ตัวเอน), Strikethru (ตัวขีดฆ่า) และ Underline (ตัวขีดเส้นใต้) เช่น

Height, Width, Left และ Top

คุณสมบัติ Height และ Width มีหน้าที่สำหรับคืนค่า หรือกำหนดขนาดความกว้าง และความสูงของคอนโทรล ส่วนคุณสมบัติ Left และ Top มีหน้าที่สำหรับคืนค่า หรือกำหนดตำแหน่งของคอนโทรล TextBox   คุณสมบัติทั้ง 4 ตัวจะมีความสัมพันธ์กัน เมื่อคุณมีการเปลี่ยนขนาด หรือเปลี่ยนตำแหน่งของคอนโทรล Label  คุณสมบัติทั้ง 4 ตัวจะเปลี่ยนไปโดยอัตโนมัติ มีรูปแบบการใช้งานดังนี้

Text1.Height [=number]
Text1.Width [=number]
Text1.Left [=x]
Text1.Top [=y]

ตัวแปร number หมายถึง เลขจำนวนเต็มที่เป็นความสูง หรือความกว้างของคอนโทรล

ตัวแปร x,y หมายถึง ตำแหน่งของคอนโทรล โดยวัดเทียบจากมุมซ้ายบนของคอนโทรล กับมุมซ้ายบนใต้แถบ title bar ของ Form เป็นพิกัดแบบคู่ลำดับ (Co-ordinate) แต่ถ้าคอนโทรล TextBox  วางอยู่ในคอนโทรล Frame จะวัดเทียบกับมุมซ้ายบน ของคอนโทรล Frame แทน

เนื่องจากว่าคุณสามารถใช้คุณสมบัติ Left และ Top เพื่อเคลื่อนย้ายตำแหน่งของคอนโทรลได้ เช่นเดียวกับเมธอด Move มีคำแนะนำว่า ถ้าคุณต้องการเคลื่อนย้ายคอนโทรล ให้ใช้เมธอด Move แทนการกำหนดคุณสมบัติ Left, Top เพราะสามารถประมวลผลได้เร็วกว่า


HideSelection

คุณสมบัตินี้มีหน้าที่สำหรับคืนค่า หรือกำหนดให้ข้อความที่ถูกเลือก (Hilight) ซึ่งจะแสดงเป็นแถบสีทับข้อความที่ถูกเลือก ให้มีการแสดงแถบสีทับข้อความที่ถูกเลือกต่อหรือไม่ เมื่อคอนโทรล TextBox สูญเสียสภาวะโฟกัส สำหรับคุณสมบัตินี้ในขณะรัน คุณสามารถอ่านค่าได้อย่างเดียว มีรูปแบบการใช้งานดังนี้

Text1.HideSelection[=boolean]

ตัวแปร boolean คุณสามารถกำหนดค่าได้ดังนี้

กำหนดค่า

รายละเอียด

True

(Default) หมายถึง ข้อความที่ถูกเลือกไว้ ไม่มีการทำแถบสีทับข้อความ เมื่อคอนโทรล TextBox สูญเสียสภาวะโฟกัส

False

หมายถึง ข้อความที่ถูกเลือกไว้ จะมีแถบสีทับข้อความตลอด แม้ว่าตัวคอนโทรล TextBox จะสูญเสียสภาวะโฟกัส

เพื่อให้คุณเห็นภาพได้ชัดเจนยิ่งขึ้น ให้คุณทดสอบโดยการนำคอนโทรล TextBox 2 ตัว วางไว้บนฟอร์ม แล้วกำหนดคุณสมบัติ HideSelection ของคอนโทรล TextBox ตัวล่างมีค่าเท่ากับ False จากนั้นให้คุณกดปุ่ม clip_image047 เพื่อเริ่มรันโปรเจ็กต์ ให้ทำแถบ Hilight ที่ข้อความทีละช่อง จากนั้นให้คุณลองกดปุ่ม Tab เพื่อเปลี่ยนโฟกัส จะเห็นว่า ข้อความที่ TextBox ตัวล่าง จะยังคงมีแถบ Hilight ค้างอยู่ ต่างกับคอนโทรล TextBox ตัวบน เมื่อสูญเสียสภาวะโฟกัสแล้ว ข้อความก็จะไม่มีแถบ Hilight แต่อย่างใด

clip_image048

รูปที่ 6-37 แสดงการทดสอบคุณสมบัติ HideSelection


Index

คุณสมบัตินี้มีหน้าที่สำหรับคืนค่า หรือกำหนดให้คอนโทรล TextBox   สามารถใช้งานในรูปแบบอาร์เรย์ได้ โดยที่คอนโทรลแต่ละตัวสามารถมีชื่อ (คุณสมบัติ Name) เหมือนกันได้ แต่ต่างกันที่ค่าดัชนี หรือค่า Index นั่นเอง สำหรับในการใช้งานคอนโทรลอาร์เรย์  จะเหมือนกับตัวแปรอาร์เรย์ทุกประการ มีรูปแบบการใช้งานดังนี้

Text1[(number)].Index

ตัวแปร number หมายถึง เลขจำนวนเต็ม Integer ซึ่งเป็นค่า Index ที่ทำให้คอนโทรลแต่ละตัว มีชื่อต่างกัน


MaxLength

คุณสมบัตินี้มีหน้าที่สำหรับคืนค่า หรือกำหนดจำนวนตัวอักษรสูงสุด ที่ยอมให้คอนโทรล TextBox สามารถเก็บไว้ที่คุณสมบัติ Text ได้ มีรูปแบบการใช้งานดังนี้

Text1.MaxLength [= value]

ตัวแปร value คุณสามารถกำหนดค่าได้ดังนี้

กำหนดค่า

รายละเอียด

0

(Default) หมายถึง ให้คอนโทรล TextBox สามารถเก็บอักษรได้สูงสุดประมาณ 32 K ตัวอักษร (กรณีที่คุณสมบัติ MultiLine=True)

จำนวนเต็มบวกใดๆ

หมายถึง กำหนดให้คอนโทรล TextBox สามารถเก็บตัวอักษรได้เท่ากับจำนวนตัวเลขที่คุณกำหนดไว้


MouseIcon

คุณสมบัตินี้มีหน้าที่กำหนดรูปแบบของเมาส์ เมื่อผู้ใช้เลื่อนเมาส์เข้ามาบริเวณคอนโทรล มีข้อแม้ว่า คุณต้องกำหนดให้คุณสมบัติ MousePointer=99 เท่านั้น เป็นการกำหนดลักษณะเมาส์ตามที่คุณต้องการ โดยที่คุณต้องมีไฟล์ไอคอน หรือไฟล์เคอร์เซอร์ด้วย มีรูปแบบการใช้งานดังนี้

Text1.MouseIcon = LoadPicture(pathname)
Text1.MouseIcon [= picture]

ตัวแปร pathname หมายถึง พาธที่เก็บชื่อไฟล์ไอคอน (*.ico) หรือไฟล์เคอร์เซอร์ (*.cur)
ตัวแปร picture หมายถึง ชื่อไฟล์ไอคอน (*.ico) หรือไฟล์เคอร์เซอร์ (*.cur) คุณระบุแต่ชื่อไฟล์เท่านั้น


MousePointer

คุณสมบัตินี้มีหน้าที่สำหรับ กำหนดรูปแบบของเมาส์ มีรูปแบบการใช้งานดังนี้

Text1.MousePointer [= value]

ตัวแปร Value เป็นรูปแบบของเมาส์ ซึ่งมีอยู่ด้วยกัน 16 แบบดังตารางต่อไปนี้

ค่าคงที่

ค่าตัวเลข

รายละเอียด

vbDefault

0

(Default) ลักษณะของเมาส์ ขึ้นอยู่กับอ๊อบเจ็กต์ หรือการทำงานในขณะนั้น

vbArrow

1

Arrow -กำหนดให้เมาส์แสดงในลักษณะ clip_image014[4]

vbCrosshair

2

Cross (crosshair pointer)-กำหนดให้เมาส์แสดงในลักษณะ clip_image015[2]

vbIbeam

3

I beam-กำหนดให้เมาส์แสดงในลักษณะ clip_image016[2]

vbIconPointer

4

กำหนดให้เมาส์แสดงในลักษณะ clip_image014[5]

vbSizePointer

5

กำหนดให้เมาส์แสดงในลักษณะ clip_image017[4]

vbSizeNESW

6

กำหนดให้เมาส์แสดงในลักษณะ clip_image018[2]

vbSizeNS

7

กำหนดให้เมาส์แสดงในลักษณะ clip_image019[2]

vbSizeNWSE

8

กำหนดให้เมาส์แสดงในลักษณะ clip_image020[2]

vbSizeWE

9

กำหนดให้เมาส์แสดงในลักษณะ clip_image021[2]

vbUpArrow

10

กำหนดให้เมาส์แสดงในลักษณะ clip_image022[2]

vbHourglass

11

กำหนดให้เมาส์แสดงในลักษณะ clip_image023[2]

vbNoDrop

12

กำหนดให้เมาส์แสดงในลักษณะ clip_image024[2]

vbArrowHourglass

13

กำหนดให้เมาส์แสดงในลักษณะ clip_image025[2]

vbArrowQuestion

14

กำหนดให้เมาส์แสดงในลักษณะ clip_image026[2]

vbSizeAll

15

กำหนดให้เมาส์แสดงในลักษณะ clip_image017[5]

vbCustom

99

กำหนดให้ลักษณะของเมาส์ ขึ้นอยู่กับคุณสมบัติ MouseIcon เป็นการกำหนดลักษณะของเมาส์ตามที่คุณต้องการ


MultiLine

คุณสมบัตินี้มีหน้าที่สำหรับคืนค่า หรือกำหนดให้คอนโทรล TextBox สามารถแสดงข้อความได้บรรทัดหรือไม่ เพราะโดยปกติแล้ว คอนโทรล TextBox จะแสดงผลเพียงบรรทัดเดียว สำหรับคุณสมบัตินี้ ในขณะรันคุณสามารถอ่านค่าได้อย่างเดียวเท่านั้น มีรูปแบบการใช้งานดังนี้

Text1.MultiLine [=boolean]

ตัวแปร boolean คุณสามารถกำหนดค่าได้ดังนี้

กำหนดค่า

รายละเอียด

True

หมายถึง กำหนดให้คอนโทรล TextBox สามารถแสดงข้อความได้หลายบรรทัด

False

(Default) หมายถึง กำหนดให้คอนโทรล TextBox แสดงผลเพียงบรรทัดเดียว


Name

คุณสมบัตินี้มีหน้าที่สำหรับกำหนดชื่อให้กับคอนโทรล เพื่อใช้สำหรับอ้างอิงในการเขียนโค้ด  และคุณจะต้องกำหนดทุกครั้ง ในขณะออกแบบ ที่หน้าต่างคุณสมบัติ ส่วนในขณะรัน คุณไม่สามารถแก้ไขชื่อนี้ได้ อ่านได้อย่างเดียว ถ้าคุณมีการแก้ไขชื่อ จะเกิดข้อผิดพลาดทันที และถ้าคุณมีการใช้งานคอนโทรล มากกว่า 1 ตัว คุณไม่สามารถตั้งชื่อซ้ำกันได้ โดยคุณอาจใช้คำนำหน้า ที่ไมโครซอฟท์แนะนำ เพื่อตั้งชื่อคอนโทรล ให้สอดคล้องกับหน้าที่ของมันก็ได้ เช่น txtInput, txtRecieve  เป็นต้น ซึ่งชื่อนี้จะใช้อ้างอิงในการเขียนโค้ด ดังนั้นคุณควรที่จะตั้งชื่อ เพื่อสื่อถึงหน้าที่ของมันให้มากที่สุด เพราะจะทำให้คุณไม่สับสนเวลาเขียนโค้ด


Parent

คุณสมบัตินี้มีหน้าที่สำหรับรายงาน ฟอร์มหรืออ๊อบเจ็กต์ที่บรรจุคอนโทรลไว้ คุณสมบัตินี้คุณสามารถอ่านค่าได้เท่านั้น ไม่สามารถกำหนด่าได้ มีรูปแบบการใช้งานดังนี้

Text1.Parent


PasswordChar

คุณสมบัตินี้มีหน้าที่สำหรับคืนค่า หรือกำหนดอักขระพิเศษ เพื่อใช้แทนอักษรที่ผู้ใช้ พิมพ์เข้าไปในคอนโทรล TextBox มักจะใช้คุณสมบัตินี้สำหรับ ช่องกรอกรหัสผ่าน (Password) มีรูปแบบการใช้งานดังนี้

Text1.PasswordChar [= value]

ตัวแปร value หมายถึง ตัวอักขระพิเศษที่คุณต้องการใช้ เช่น * เป็นต้น

clip_image049

รูปที่ 6-38 ผู้เขียนพิมพ์ข้อความ "http://vbthai.cjb.net/"


ScrollBars

คุณสมบัตินี้มีหน้าที่สำหรับคืนค่า หรือกำหนดให้มีการแสดงแถบเลื่อน Scroll Bar ในคอนโทรล TextBox โดยมีข้อแม้ว่า คุณจะต้องกำหนดให้คุณสมบัติ MultiLine=True ก่อน และเงื่อนไขที่สำคัญอีกข้อหนึ่งคือ แถบเลื่อน Scroll Bar จะปรากฎออกมาเมื่อ ข้อความที่อยู่ในตัวคอนโทรล TextBox ไม่สามารถแสดงให้หมดได้ ภายในหน้าเดียวได้   สำหรับคุณสมบัตินี้ ในขณะรัน คุณสามารถอ่านค่าได้เพียงอย่างเดียวเท่านั้น มีรูปแบบการใช้งานดังนี้

Text1.ScrollBars [=boolean]

ตัวแปร boolean คุณสามารถกำหนดค่าได้ดังนี้

ค่าคงที่

ค่าตัวเลข

รายละเอียด

vbSBNone

0

(Default) หมายถึง กำหนดให้คอนโทรล TextBox ไม่ต้องแสดงแถบเลื่อน Scroll Bar

vbHorizontal

1

หมายถึง กำหนดหนดให้คอนโทรล TextBox แสดงแถบเลื่อน Scroll Bar ตามแนวนอน (Horizontal)

vbVertical

2

หมายถึง กำหนดหนดให้คอนโทรล TextBox แสดงแถบเลื่อน Scroll Bar ตามแนวตั้ง (Vertical)

vbBoth

3

หมายถึง กำหนดหนดให้คอนโทรล TextBox แสดงแถบเลื่อน Scroll Bar ทั้งแนวนอนและแนวตั้ง

clip_image050

รูปที่ 6-39 แสดงคอนโทรล TextBox ที่มีแถบเลื่อน Scroll Bar ทั้ง 3 แบบ


SelLength, SelStart และ SelText

คุณสมบัติ SelLength มีหน้าที่สำหรับคืนค่า หรือกำหนดจำนวนตัวอักษรที่คุณต้องการเลือก   คุณสมบัติ SelStart มีหน้าที่สำหรับคืนค่า หรือกำหนดตัวอักษรที่เป็นตัวแรก ที่คุณต้องการเลือก ส่วนคุณสมบัติ SelText มีหน้าที่สำหรับรายงานข้อความที่ได้ถูกเลือกเอาไว้   คุณสมบัติทั้ง 3 ตัวมีรูปแบบการใช้งานดังนี้

Text1.SelLength [= number]
Text1.SelStart [= index]
Text1.SelText [= value]

ตัวแปร number หมายถึง เลขจำนวนเต็มบวก Integer ที่เป็นจำนวนตัวอักษรซึ่งถูกเก็บอยู่ในคุณสมบัติ รวมถึง ช่องว่าง 1 ช่องเท่ากับ 1 ตัวอักษรด้วย
ตัวแปร index หมายถึง เลขจำนวนเต็มบวก Integer ที่เป็นตำแหน่งของตัวอักษรตัวแรก ที่คุณต้องการเริ่มต้นเลือก
ตัวแปร value หมายถึง ข้อความที่ถูกเลือกไว้ เพื่อให้คุณเห็นภาพได้ชัดเจนยิ่งขึ้น ให้ดูรูปด้านล่างประกอบ

clip_image051

รูปที่ 6-40 แสดงคอนโทรล TextBox ที่มีข้อความ University

เริ่มต้นให้คุณวางคอนโทรล TextBox 1 ตัวบนฟอร์ม จากนั้นให้คุณรันโปรเจ็กต์ ขณะนี้คุณสมบัติ Text และคุณสมบัติ SelTex มีค่าเท่ากับ สตริงว่าง " " ต่อมาให้คุณลองพิมพ์คำว่า University ลงไป ตอนนี้ คุณสมบัติ SelLength มีค่าเท่ากับ 10 ตัวอักษร และคอนโทรล TextBox เก็บข้อความ University ไว้ที่คุณสมบัติ Text (คุณสมบัติ SelText ยังไม่มีข้อความแต่อย่างใด) ต่อมา ให้คุณลอง drag เมาส์เพื่อทำแถบสีคาดทับข้อความทั้งหมด ตอนนี้ คุณสมบัติ SelText ได้เก็บข้อความ University ไว้แล้ว

จากตัวอย่างจะเห็นได้ว่า คุณสมบัติ SelText จะเก็บตัวอักษรที่ผู้ใช้ drag เมาส์เพื่อเลือกข้อความไว้เท่านั้น   ต่างจากคุณสมบัติ Text ที่ผู้ใช้เพียงแต่พิมพ์ข้อความลงไปในคอนโทรล TextBox คุณสมบัติ Text   ก็จะเก็บข้อความทั้งหมดไว้ทันที สมมติว่า คุณลอง drag เมาส์ ตั้งแต่ตัว U จนถึงตัว s กรณีนี้คุณสมบัติ SelText ก็จะเก็บแค่ข้อความ Univers นี่เป็นข้อแตกต่างระหว่างคุณสมบัติ Text  และคุณสมบัติ SelText


TabIndex

คุณสมบัตินี้มีหน้าที่สำหรับคืนค่า หรือกำหนดลำดับให้คอนโทรล ในการรับโฟกัส เมื่อผู้ใช้กดคีย์ Tab ที่คีย์บอร์ด คุณสามารถกำหนดได้ทั้งในขณะออกแบบ และรันแอพพลิเคชัน มีรูปแบบการใช้งานดังนี้

Text1.TabIndex [=index]

ตัวแปร index หมายถึง เลขจำนวนเต็มบวก Integer เท่านั้น ซึ่งเป็นลำดับโฟกัสของคอนโทรล TextBox ที่มีค่าตั้งแต่ 0 ถึง n-1 โดยที่ n หมายถึงจำนวนคอนโทรลที่อยู่บนฟอร์ม เรียงลำดับจากน้อยไปมาก และถ้าคุณกำหนดคุณสมบัติ TabIndex เป็นค่าลบ จะเกิด error ทันที


ToolTipText

คุณสมบัตินี้มีหน้าที่สำหรับกำหนดข้อความ ToolTip เมื่อผู้ใช้ เลื่อนเมาส์มาบริเวณคอนโทรล TextBox มีรูปแบบการใช้งานดังนี้

Text1.ToolTipText [=string]

ตัวแปร string หมายถึง ข้อความที่คุณต้องการทำ ToolTip


Visible

คุณสมบัตินี้มีหน้าที่สำหรับคืนค่า หรือกำหนดให้คอนโทรล TextBox   สามารถมองเห็น หรือถูกซ่อนในขณะรัน มีรูปแบบการใช้งานดังนี้

Text1.Visible [=boolean]

ตัวแปร boolean คุณสามารถกำหนดค่าได้ดังนี้

กำหนดค่า

รายละเอียด

True

(Default) หมายถึง คอนโทรลสามารถมองเห็นได้ตามปกติ

False

หมายถึง คอนโทรลจะถูกซ่อนอยู่ในหน่วยความจำ ผู้ใช้ไม่สามารถเห็นได้


เมธอดของคอนโทรล TextBox

สำหรับเมธอดของคอนโทรล TextBox ที่น่าสนใจ มีดังนี้

Move

เมธอดนี้มีหน้าที่สำหรับกำหนดให้คอนโทรล TextBox เคลื่อนย้ายตำแหน่ง หรือปรับขนาดของคอนโทรล โดยหน่วยวัดที่ใช้ จะขึ้นอยู่กับคุณสมบัติ ScaleMode ปกติแล้วจะมีหน่วยเป็น Twip มีรูปแบบการใช้งานดังนี้

Text1.Move left[,top,width,height]

รายละเอียดของแต่ละตัวมีดังนี้

ตัวแปร

รายละเอียด

left

คุณต้องกำหนด หมายถึง เลขจำนวนเต็มที่เป็นตำแหน่งของคอนโทรลในแนวแกน x โดยวัดจากมุมซ้ายบน ของคอนโทรลกับ มุมซ้ายบนใต้แถบ title bar ของฟอร์ม ถ้าคอนโทรล TextBox   อยู่ในคอนโทรล Frame จะวัดเทียบกับมุมซ้ายบน ของคอนโทรล Frame แทน

top

(Optional) หมายถึง เลขจำนวนเต็มที่เป็นตำแหน่งของคอนโทรลในแนวแกน y โดยวัดจากมุมซ้ายบน ของคอนโทรลกับ มุมซ้ายบนใต้แถบ title bar ของฟอร์มเช่นกัน ถ้าคอนโทรล Label อยู่ในคอนโทรล Frame จะวัดเทียบกับ มุมซ้ายบนของคอนโทรล Frame แทน

width

(Optional) หมายถึงเลขจำนวนเต็มที่เป็นความกว้างของคอนโทรล TextBox

height

(Optional) หมายถึงเลขจำนวนเต็มที่เป็นความสูงของคอนโทรล TextBox


Refresh

เมธอดนี้มีหน้าที่สำหรับปรับปรุงข้อความที่อยู่บนตัวคอนโทรล ให้ทันสมัย หรือ update ทันที มีรูปแบบการใช้งานดังนี้

Text1.Refresh


SetFocus

เมธอดนี้มีหน้าที่สำหรับกำหนดให้คอนโทรล TextBox ได้รับโฟกัสทันที มีรูปแบบการใช้งานดังนี้

Text1.SetFocus


เหตุการณ์ของคอนโทรล TextBox

สำหรับเหตุการณ์ที่คอนโทรล TextBox สนับสนุนมีดังนี้

Text1_Change ( )

เป็นเหตุการณ์ที่เกิดขึ้น เมื่อผู้ใช้มีการแก้ไขข้อความที่อยู่บนตัวคอนโทรล TextBox ในขณะรัน มีรูปแบบการใช้งานดังนี้

Private Sub Text1_Change([index As Integer])

End Sub

อาร์กิวเมนต์ index หมายถึง เลขจำนวนเต็ม Integer ที่เป็นค่าดัชนี จะใช้ในกรณีที่เป็นคอนโทรลอาร์เรย์ ซึ่งจะเป็นตัวบอกความแตกต่าง ของคอนโทรลอาร์เรย์แต่ละตัว


Text1_Click ( )

เป็นเหตุการณ์ที่เกิดขึ้น เมื่อผู้ใช้คลิ๊กเมาส์ด้วยปุ่มซ้าย ที่บริเวณตัวคอนโทรล TextBox มีรูปแบบการใช้งานดังนี้

Private Sub Text1_Click([index As Integer])

End Sub

อาร์กิวเมนต์ index หมายถึง เลขจำนวนเต็ม Integer ที่เป็นค่าดัชนี จะใช้ในกรณีที่เป็นคอนโทรลอาร์เรย์ ซึ่งจะเป็นตัวบอกความแตกต่าง ของคอนโทรลอาร์เรย์แต่ละตัว


Text1_DblClick ( )

เป็นเหตุการณ์ที่เกิดขึ้น เมื่อผู้ใช้ดับเบิลคลิ๊กภายในบริเวณตัวคอนโทรล TextBox  มีรูปแบบการใช้งานดังนี้

Private Sub Text1_DblClick (index As Integer)

End Sub

อาร์กิวเมนต์ index หมายถึง เลขจำนวนเต็ม Integer ที่เป็นค่าดัชนี จะใช้ในกรณีที่เป็นคอนโทรลอาร์เรย์ ซึ่งจะเป็นตัวบอกความแตกต่าง ของคอนโทรลอาร์เรย์แต่ละตัว


Text1_DragDrop ( )

เป็นเหตุการณ์ที่เกิดขึ้น เมื่อผู้ใช้มีการลาก (drag) แล้ววาง (drop) โดยที่เหตุการณ์ดังกล่าวจะต้องเสร็จสิ้น และสมบูรณ์ มีรูปแบบการใช้งานดังนี้

Private Sub Text1_DragDrop([index As Integer,]source As Control, x As Single, y As Single)

End Sub

อาร์กิวเมนต์ index หมายถึง เลขจำนวนเต็ม Integer ที่เป็นค่าดัชนี จะใช้ในกรณีที่เป็นคอนโทรลอาร์เรย์ ซึ่งจะเป็นตัวบอกความแตกต่าง ของคอนโทรลอาร์เรย์แต่ละตัว

อาร์ กิวเมนต์ source หมายถึง คอนโทรลที่เป็นจุดเริ่มต้นเหตุการณ์ลากแล้ววาง (drag-drop)

อาร์กิวเมนต์ x,y หมายถึง พิกัดคู่ลำดับ co-ordinate ซึ่งเป็นตำแหน่งของเมาส์พอยน์เตอร์ บนตัวคอนโทรลปลายทาง ที่ผู้ใช้ต้องการวาง ซึ่งถือว่า กระบวนการลากแล้ววาง (drag-drop) เสร็จสิ้น และสมบูรณ์แล้ว


Text1_DragOver ( )

เป็นเหตุการณ์ที่เกิดขึ้น เมื่อผู้ใช้มีการลากแล้ววาง (drag-drop) จากคอนโทรลอื่นๆ ซึ่งลากผ่านมาเหนือบริเวณที่ไม่ใช่คอนโทรลปลายทาง คุณสามารถใช้เหตุการณ์นี้ เพื่อดักจับเมาส์พอยน์เตอร์ว่า อยู่ตำแหน่งใด มีรูปแบบการใช้งานดังนี้

Private Sub Text1_DragOver([index As Integer,]source As Control, x As Single, y As Single, state As Integer)

End Sub

อาร์กิวเมนต์ index หมายถึง เลขจำนวนเต็ม Integer ที่เป็นค่าดัชนี จะใช้ในกรณีที่เป็นคอนโทรลอาร์เรย์ ซึ่งจะเป็นตัวบอกความแตกต่าง ของคอนโทรลอาร์เรย์แต่ละตัว

อาร์ กิวเมนต์ source หมายถึง คอนโทรลที่เป็นจุดเริ่มต้นเหตุการณ์ลากแล้ววาง (drag-drop)

อาร์กิวเมนต์ x,y หมายถึง พิกัดคู่ลำดับ co-ordinate ซึ่งเป็นตำแหน่งของเมาส์พอยน์เตอร์ บนตัวคอนโทรลปลายทาง ที่ผู้ใช้ต้องการวาง ซึ่งถือว่า กระบวนการลากแล้ววาง (drag-drop) เสร็จสิ้น และสมบูรณ์แล้ว

อาร์กิวเมนต์ state หมายถึง เลขจำนวนเต็ม Integer ที่บอกสถานะของกระบวนการ ลากแล้ววาง ซึ่งมีความหมายดังนี้

  • 0-Enter หมายถึง คอนโทรลต้นทาง (source control) กำลังถูกลากเข้ามาอยู่เหนือบริเวณเป้าหมาย
  • 1-Leave หมายถึง คอนโทรลต้นทาง (source control) กำลังถูกลากออกจากเป้าหมาย
  • 2-Over หมายถึง คอนโทรลต้นทาง (source control) กำลังถูกลากไปมา เหนือบริเวณเป้าหมาย

Text1_GotFocus

เป็นเหตุการณ์ที่เกิดขึ้น เมื่อคอนโทรล TextBox ได้รับโฟกัส เหตุการณ์นี้จะเกิดขึ้นได้ โดยมีข้อแม้ว่า คุณสมบัติ Enabled และคุณสมบัติ Visible ของคอนโทรล TextBox= True เท่านั้น มีรูปแบบการใช้งานดังนี้

Private Sub Text1_GotFocus([index As Integer])

End Sub

อาร์กิวเมนต์ index หมายถึง เลขจำนวนเต็ม Integer ที่เป็นค่าดัชนี จะใช้ในกรณีที่เป็นคอนโทรลอาร์เรย์ ซึ่งจะเป็นตัวบอกความแตกต่าง ของคอนโทรลอาร์เรย์แต่ละตัว


Text1_KeyDown ( ) และ Text1_KeyUp ( )

เหตุการณ์ KeyDown ( ) จะเกิดขึ้นเมื่อ ผู้ใช้กดปุ่มใดๆ ที่คีย์บอร์ด และเหตุการณ์  KeyUp ( ) จะเกิดขึ้นต่อจากเหตุการณ์ KeyDown ( ) นั่นคือ เมื่อผู้ใช้ปล่อยปุ่มที่คีย์บอร์ด คุณจะต้องกำหนดให้คอนโทรล TextBox ให้ได้รับโฟกัสเสียก่อน มีรูปแบบการใช้งานดังนี้

Private Sub Text1_KeyDown([index As Integer,]keycode As Integer, shift As Integer)

End Sub

Private Sub Text1_KeyUp([index As Integer,]keycode As Integer, shift As Integer)

End Sub

อาร์กิวเมนต์ index หมายถึง เลขจำนวนเต็ม Integer ที่เป็นค่าดัชนี จะใช้ในกรณีที่เป็นคอนโทรลอาร์เรย์ ซึ่งจะเป็นตัวบอกความแตกต่าง ของคอนโทรลอาร์เรย์แต่ละตัว

อาร์กิวเมนต์ keycode หมายถึง รหัสซึ่งเป็นตัวแทนของคีย์ ที่อยู่บนคีย์บอร์ด เช่น ปุ่ม F1-F12, ปุ่ม Home เป็นต้น คุณสามารถดูรายละเอียดเกี่ยวกับ keycode เหล่านี้ได้ที่ บทที่ 28 ค่าคงที่ระบบ (System Constants) ที่น่าสนใจ

อาร์กิวเมนต์ shift หมายถึง สถานะของปุ่ม shift, Ctrl และ Alt โดยที่ปุ่มทั้ง 3 ปุ่ม ถูกจัดเก็บในรูปแบบบิต ซึ่งผู้ใช้สามารถกดพร้อมๆ กันได้ มักจะใช้ค่าบิตมาตรวจสอบสถานะของปุ่มทั้ง 3 เสมอ มีความหมายดังนี้

ค่าคงที่ (Shift)

ค่าตัวเลข

รายละเอียด

vbShiftMask

1

ปุ่ม SHIFT ถูกกด

vbCtrlMask

2

ปุ่ม CTRL ถูกกด

vbAltMask

4

ปุ่ม ALT ถูกกด

ถ้าผู้ใช้มีการกดปุ่มดังกล่าว พร้อมๆ กัน ไม่ว่าจะเป็นปุ่มใดก็ตาม จะใช้ผลบวกของแต่ละบิตรวมกัน เช่น สมมติว่าผู้ใช้กดปุ่ม Shift+Alt จะมีค่าเท่ากับ 5 เป็นต้น


Text1_KeyPress ( )

เป็นเหตุการณ์ที่เกิดขึ้น เมื่อผู้ใช้มีการกด และปล่อยปุ่มที่คีย์บอร์ด คุณต้องกำหนดให้คอนโทรล TextBox ได้รับโฟกัสก่อน มีรูปแบบการใช้งานดังนี้

Private Sub Text1_KeyPress([index As Integer,]keyascii As Integer)

End Sub

อาร์กิวเมนต์ index หมายถึง เลขจำนวนเต็ม Integer ที่เป็นค่าดัชนี จะใช้ในกรณีที่เป็นคอนโทรลอาร์เรย์ ซึ่งจะเป็นตัวบอกความแตกต่าง ของคอนโทรลอาร์เรย์แต่ละตัว

อาร์กิวเมนต์ keyascii หมายถึง รหัสแอสกีซึ่งแทนของอักษรที่อยู่บนคีย์บอร์ด คุณสามารถดูรายละเอียดเพิ่มเติมได้ที่ บทที่ 28 ค่าคงที่ระบบ (System Constants) ที่น่าสนใจ


Text1_LostFocus ( )

เป็นเหตุการณ์ที่เกิดขึ้น เมื่อคอนโทรล CommandButton สูญเสียสภาวะโฟกัส ให้กับคอนโทรล หรืออ๊อบเจ็กต์ตัวอื่นๆ อาจกล่าวได้ว่า เหตุการณ์ LostFocus ( ) จะเกิดต่อจากเหตุการณ์ GotFocus ( ) นั่นเอง มีรูปแบบการใช้งานดังนี้

Private Sub Text1_LostFocus([index As Integer])

End Sub

อาร์กิวเมนต์ index หมายถึง เลขจำนวนเต็ม Integer ที่เป็นค่าดัชนี จะใช้ในกรณีที่เป็นคอนโทรลอาร์เรย์ ซึ่งจะเป็นตัวบอกความแตกต่าง ของคอนโทรลอาร์เรย์แต่ละตัว


Text1_MouseDown ( ) และ Text1_MouseUp ( )

เป็นเหตุการณ์ที่เกิดขึ้น เมื่อผู้ใช้กดปุ่มซ้ายของเมาส์ บริเวณตัวคอนโทรล ก็จะทำให้เกิดเหตุการณ์ MouseDown และเมื่อผู้ใช้ปล่อยเมาส์ บริเวณตัวคอนโทรล ก็จะทำให้เกิดเหตุการณ์ MouseUp มีรูปแบบการใช้งานดังนี้

Private Sub Text1_MouseDown([index As Integer,]button As Integer, shift As Integer, x As Single, y As Single)

End Sub

Private Sub Text1 _MouseUp([index As Integer,]button As Integer, shift As Integer, x As Single, y As Single)

End Sub

อาร์กิวเมนต์ index หมายถึง เลขจำนวนเต็ม Integer ที่เป็นค่าดัชนี จะใช้ในกรณีที่เป็นคอนโทรลอาร์เรย์ ซึ่งจะเป็นตัวบอกความแตกต่าง ของคอนโทรลอาร์เรย์แต่ละตัว

อาร์กิวเมนต์ button หมายถึง ปุ่มของเมาส์ ซึ่งเป็นตัวทำให้เกิดเหตุการณ์ MouseDown และ MouseUp แต่ละปุ่มของเมาส์จะถูกจัดเก็บในลักษณะบิต (bit) โดยที่แต่ละบิตมีความหมายดังนี้

ค่าคงที่ (Button)

ค่าตัวเลข

รายละเอียด

vbLeftButton

1

เมื่อปุ่มซ้ายของเมาส์ถูกกด

vbRightButton

2

เมื่อปุ่มขวาของเมาส์ถูกกด

vbMiddleButton

4

เมื่อปุ่มกลางของเมาส์ถูกกด

อาร์กิวเมนต์ shift หมายถึง สถานะของปุ่ม shift, Ctrl และ Alt โดยที่ปุ่มทั้ง 3 ปุ่ม   ถูกจัดเก็บในรูปแบบบิตเช่นกัน ซึ่งผู้ใช้สามารถกดพร้อมๆ กันได้ มักจะใช้ค่าบิตมาตรวจสอบสถานะของปุ่มทั้ง 3 เสมอ มีความหมายดังนี้

ค่าคงที่ (Shift)

ค่าตัวเลข

รายละเอียด

vbShiftMask

1

ปุ่ม SHIFT ถูกกด

vbCtrlMask

2

ปุ่ม CTRL ถูกกด

vbAltMask

4

ปุ่ม ALT ถูกกด

ถ้าผู้ใช้มีการกดปุ่มดังกล่าว พร้อมๆ กัน ไม่ว่าจะเป็นปุ่มใดก็ตาม จะใช้ผลบวกของแต่ละบิตรวมกัน เช่น สมมติว่าผู้ใช้กดปุ่ม Shift+Alt จะมีค่าเท่ากับ 5 เป็นต้น

อาร์กิวเมนต์ x,y หมายถึง พิกัดคู่ลำดับ (co-ordinate) ของเมาส์พอยน์เตอร์ ซึ่งเป็นตำแหน่งที่เกิดเหตุการณ์ MouseDown หรือ MouseUp


Text1_MouseMove ( )

เป็นเหตุการณ์ที่เกิดขึ้น เมื่อผู้ใช้เลื่อนเมาส์ไปมาบริเวณคอนโทรล Label มีรูปแบบการใช้งานดังนี้

Private Sub Text1_MouseMove([index As Integer,] button As Integer, shift As Integer, x As Single, y As Single)

End Sub

อาร์กิวเมนต์ index หมายถึง เลขจำนวนเต็ม Integer ที่เป็นค่าดัชนี จะใช้ในกรณีที่เป็นคอนโทรลอาร์เรย์ ซึ่งจะเป็นตัวบอกความแตกต่าง ของคอนโทรลอาร์เรย์แต่ละตัว

อาร์กิวเมนต์ button หมายถึง ปุ่มของเมาส์ ซึ่งเป็นตัวทำให้เกิดเหตุการณ์ MouseDown และ MouseUp แต่ละปุ่มของเมาส์จะถูกจัดเก็บในลักษณะบิต (bit) โดยที่แต่ละบิตมีความหมายดังนี้

ค่าคงที่ (Button)

ค่าตัวเลข

รายละเอียด

vbLeftButton

1

เมื่อปุ่มซ้ายของเมาส์ถูกกด

vbRightButton

2

เมื่อปุ่มขวาของเมาส์ถูกกด

vbMiddleButton

4

เมื่อปุ่มกลางของเมาส์ถูกกด

อาร์กิวเมนต์ shift หมายถึง สถานะของปุ่ม shift, Ctrl และ Alt โดยที่ปุ่มทั้ง 3 ปุ่ม   ถูกจัดเก็บในรูปแบบบิตเช่นกัน ซึ่งผู้ใช้สามารถกดพร้อมๆ กันได้ มักจะใช้ค่าบิตมาตรวจสอบสถานะของปุ่มทั้ง 3 เสมอ มีความหมายดังนี้

ค่าคงที่ (Shift)

ค่าตัวเลข

รายละเอียด

vbShiftMask

1

ปุ่ม SHIFT ถูกกด

vbCtrlMask

2

ปุ่ม CTRL ถูกกด

vbAltMask

4

ปุ่ม ALT ถูกกด

ถ้าผู้ใช้มีการกดปุ่มดังกล่าว พร้อมๆ กัน ไม่ว่าจะเป็นปุ่มใดก็ตาม จะใช้ผลบวกของแต่ละบิตรวมกัน เช่น สมมติว่าผู้ใช้กดปุ่ม Shift+Alt จะมีค่าเท่ากับ 5 เป็นต้น

อาร์กิวเมนต์ x,y หมายถึง พิกัดคู่ลำดับ (co-ordinate) ของเมาส์พอยน์เตอร์ ซึ่งเป็นตำแหน่งที่เกิดเหตุการณ์ MouseDown หรือ MouseUp