คุณสมบัติ, เมธอด และ Event
โปรแกรมประยุกต์ตอบสนองกับผู้ใช้ผ่าน คุณสมบัติ, เมธอด และ event ซึ่งมี คุณสมบัติ, เมธอด และ event ร่วม ที่ควรรู้จัก ดังนี้
คุณสมบัติร่วม
1. Left, Top, Width และ Height
ใช้จัดตำแหน่งของอ๊อบเจค เช่น การวางฟอร์มที่มุมซ้ายบน มีความกว้าง 5000 twips และสูง 3000 twips
Form1.Left = 0
Form1.Top = 0
Form1.Width = 5000
Form1.Height = 3000
2. ForeColor และ BackColor
ใช้กำหนดสีของข้อความและสีพื้นหลังของอ๊อบเจค ซึ่งสามารถกำหนดสีเป็นแบบ palette และ system เช่น
กำหนดสีแบบ palette
Label1.ForeColor = vbHighlightText
กำหนดสีแบบ system
Label1.BackColor = &H800000D
รวมถึงการกำหนดด้วยค่าคงที่, เลขฐานสิบ และเลขฐานสิบหก ตามตัวอย่างเป็นสีเดียวกัน
ค่าคงที่
Text1.BackColor = vbCyan
เลขฐานสิบ
Text1.BackColor = 16776960
เลขฐานสิบหก
Text1.BackColor = &HFFF00
3. Font
ใช้กำหนดลักษณะการแสดงตัวอักษร การตั้งค่าคุณสมบัติ Font สามารถใช้ไดอะล๊อกบ๊อกซ์ แต่ในขณะที่กำลังเรียกใช้การกำหนด Font จะยุ่งยากขึ้น เนื่องจาก Font เป็นอ๊อบเจคแบบรวม ประกอบด้วยคุณสมบัติ Name, Size, Bold, Italic, Underline และ StrikeThrough
Text1.Font.Name = "Arial"
Text1.Font.Size = 12
Text1.Font.Bold = True
4. Caption และText
ใช้ในการแสดงข้อความ โดยคุณสมบัติ Caption เป็นข้อความที่ปรากฏภายในตัว control และไม่สามารถแก้ไขได้โดยผู้ใช้เมื่อเรียกใช้โปรแกรม คุณสมบัติ Text ผู้ใช้สามารถแก้ไขได้
Label1.Caption = "Title"
Text1.Text = "Hello Word"
5. Enabled, Locked และ Visible
โดยคุณสมบัติ Visible ใช้กำหนดการมองเห็น คุณสมบัติ Enabled และ Locked กำหนดการเข้าถึงตัว control แต่ต่างกันที่ คุณสมบัติ Enabled ถ้ากำหนดไม่ให้เข้าถึง
(Enabled = False) แล้ว ตัว control ไม่สามารถรับโฟกัสได้ ส่วนคุณสมบัติ Locked ถ้ากำหนดไม่ให้เข้าถึง (Locked = True) แล้ว ตัว control ยังสามารถรับโฟกัสได้
Text1.Enabled = (Check1.Value = vbChecked)
Text1.Locked = (Check1.Value = vbChecked)
6. TabStop และ TabIndex
ใช้กำหนดลำดับของแท็บ
Label1.Caption = "&Name"
Text1.TabIndex = Label1.TabIndex + 1
7. MousePointer และ MouseIcon
ใช้กำหนดไอคอนของเมาส์เมื่อเคลื่อนที่ผ่านตัว control
Text1.MousePointer = vbCrosshair
8. คุณสมบัติอื่นๆ
คุณสมบัติ Value มีค่าตามชนิดของตัว control รวมถึงตัว control ประเภท ActiveX
คุณสมบัติ Index เป็นสิ่งสำคัญในการสร้าง array ของตัว control และมีคุณสมบัติแบบอ่านอย่างเดียว เมื่อเรียกใช้ตัว control
คุณสมบัติ Appearance ตามปกติจะกำหนดค่าคุณสมบัติเริ่มต้นเป็น 3 มิติ แต่เปลี่ยนแบบภาพ การกำหนดค่าทำได้ในเวลาออกแบบ และเป็นแบบอ่านอย่างเดียว เมื่อมีการเรียกใช้
คุณสมบัติ Align เป็นการให้ตัว control สัมผัสกับขอบของ Windows มีตัว control ที่สนับสนุนคือ Picture box และ Data รวมถึงตัว control ประเภท ActiveX
คุณสมบัติ BorderStyle มี intrinsic control สนับสนุนจำนวนหนึ่งได้แก่ Text box, Label, Frame, Picture box, Image และ OLE โดยถ้าตั้งค่าเป็น 0-none จะไม่มีเส้นขอบ ถ้าตั้งค่าเป็น 1-Fixed จะมีเส้นขอบส่วนฟอร์ม มีคุณสมบัตินี้ แต่การกำหนดเป็นแบบอื่น
คุณสมบัติ ToolTip เป็น Windows สีเหลืองขนาดเล็กปรากฏขึ้นเมื่อเมาส์เคลื่อนที่ไปอยู่เหนือตัว control หรือไอคอน และอยู่บริเวณนั้น 1-2 วินาที Visual Basic เวอร์ชัน 5 และ 6 มีคุณสมบัติ ToolTipText สำหรับการรวมข้อความ แต่ฟอร์มไม่สนับสนุนคุณสมบัตินี้
คุณสมบัติ DragMode และ DragIcon ใช้สำหรับการ drag ตัว control บนฟอร์ม แต่จะถูกยับยั้งโดยคุณสมบัติ และเมธอด OLEXXXX ในปัจจุบัน ควรใช้คุณสมบัติ OLE Drag และ Drop
คุณสมบัติ LinkMode, LinkTopic, LinkItem และ LinkTimeout รวมถึงเมธอด LinkPoke, LinkExecute, LinkRequest และ LinkSend ใช้ในการทำให้ถึง control และฟอร์มติดต่อกับโปรโตคอล DDE กับตัว control และฟอร์มของโปรแกรมประยุกต์อื่น ในปัจจุบัน สามารถใช้ OLE และ COM ในการติดต่อกับโปรแกรมประยุกต์อื่น
เมธอดร่วม
1. Move
ใช้ในการย้ายอ๊อบเจคหรือตัว control และมีไวยากรณ์ คือ
[object.]Move Left [, Top, Width, Height]
เช่น การย้ายฟอร์มไปที่มุมซ้ายบน มีความกว้างและความสูงเป็น 2 เท่าของขนาดเดิม
Form1.Move 0,0, Form1.Width*2, Form1.Height * 2
2. Refresh
ใช้ในการวาดตัว control ใหม่ ตามปกติไม่ใช้เนื่องจาก Visual Basic มีการปรับค่าโดยอัตโนมัติ แต่สามารถใช้ได้ในกรณีที่ต้องการให้มีการปรับคุณสมบัติทันที เช่น
Dim i As Integer
For i = 1000 to 1 Step - 1
Label1.Caption = (str(i))
Label1.Refresh
Next
3. SetFocus
ใช้ย้ายโฟกัสไปที่ตัว control ที่ระบุ แต่จะเกิดความผิดพลาด ถ้าตัว control ที่กำหนดเข้าถึงไม่ได้ หรือมองไม่เห็น ดังนั้น ควรหลีกเลี่ยงการใช้เมธอดนี้ใน Form_Load event และควรใช้ร่วมกับประโยคคำสั่ง On Error
On error Resume Next
Text1.SetFocus
Event ร่วม
1. Click และ DblClick event
Click event จะเกิดเมื่อผู้ใช้กดปุ่มเมาส์ด้านซ้ายบนตัว control และ DblClick event เกิดเมื่อเป็นการปุ่มเมาส์ด้านซ้ายแบบดับเบิลคลิก
Private Sub Form_Click()
Dim t As Single
IsClick = True
t = Timer
DoEvents
If Not IsClick Then Exit Sub
Loop Until Timer > t + 0.5 Or Timer < t
txtMonitor = "Click event บนฟอร์ม"
End Sub
2. Change event
เป็น event พื้นฐานที่เกิดเมื่อข้อมูลของตัว control มีการเปลี่ยนแปลง สามารถใช้ในการลบข้อมูลของตัว control ที่สัมพันธ์กัน เช่น ในฟอร์มการชำระเงินกู้ เมื่อมีการเปลี่ยนรหัสสมาชิกผู้ชำระเงิน เลขที่สัญญาเงินกู้ควรเปลี่ยนแปลงด้วย ซึ่งจะช่วยป้องกันความสับสนได้
Private Sub MemberID_Change()
ContactID = ""
End Sub
3. GotFocus และ LostFocus event
GotFocus event เกิดขึ้นเมื่อตัว control ได้รับการโฟกัส เช่นเมื่อเมาส์เลื่อนมาถึง และ LostFocus event เกิดเมื่อการโฟกัสออกไปจากตัว control
4. KeyPress, KeyDown และ KeyUp event
เป็น event ที่เกิดเพื่อกดปุ่มแป้นพิมพ์ ขณะที่ตัว control ได้รับการโฟกัส โดยมีลำดับดังนี้ KeyDown (เมื่อผู้ใช้กดปุ่มแป้นพิมพ์) KeyPress (Visual Basic แปลปุ่มนั้นเป็นรหัส ANSI) และ KeyUp (เมื่อปล่อยปุ่มแป้นจากพิมพ์)
Private Sub Text1_Key Press (KeyAscii As Integer)
KeyAscii = Asc(UCase$(Chr$(KeyAscii)))
If KeyAscii = Asc("") Then KeyAscii = 0
End Sub
5. MouseDown, MouseUp และ MouseMove event
เป็น event ที่เกิดขึ้นเมื่อมีการคลิก, ปล่อย หรือย้าย ของเมาส์บนตัว control
ลำดับการเกิด Click event มีลำดับ คือ MouseDown -> MouseUp -> Click -> MouseMove
ลำดับการเกิด DblClick event มีลำดับ คือ MouseDown -> MouseUp -> Click -> MouseMove -> DblClick -> MouseUp -> MouseUp
|