Visual Basic

Home

Visual Basic Tutorial
Knowledge Developer Database Internet Resource
Intrinsic Control
1. Intrinsic Control
2. Text box
3. List box
4. กราฟฟิก
5. ตัว Control อื่นๆ
6. เมนู
7. Control Array
 
Visual Basic Tutorial
1. Visual Basic 6
2. ฟอร์ม
3. Intrinsic Control
4. ตัวแปรและ Procedure
5. Class
6. Common Control1
7. Common Control2
8. ActiveX Control
9. Interface
10. ฐานข้อมูล
11. Database Control
 
Developer
Visual Basic
Microsoft Access
Microsoft Excel
 

ตัว Control อื่นๆ

Command Button

Command button เป็นตัว control ที่ใช้ในการติดต่อกับผู้ใช้ด้วยเขียนคำสั่งใน Click event

Private Sub cmdOK_Click()
  Unload Me
End Sub

เมื่อวาดตัว control ลงบนฟอร์มแล้ว ควรพิมพ์ข้อความในคุณสมบัติ Caption ที่สื่อความในการทำงานและมีคุณสมบัติ 2 อย่างเกี่ยวกับพฤติกรรมของ Command button โดยการตั้งคุณสมบัติ Default เป็น True ทำให้ปุ่มสามารถรับการคลิกของปุ่ม Enter และตั้งคุณสมบัติ Cancel เป็น True ทำให้ปุ่มสามารถทำงานร่วมกับปุ่ม Escape สำหรับคุณสมบัติ Value มีความสัมพันธ์กับคุณสมบัติเมื่อเรียกใช้ ส่งคืนสถานะของตัว control (True คือ การกดปุ่ม และ False คือ อื่นๆ) ตามปกติ จะไม่ใช้คุณสมบัติ Value เนื่องจากสามารถใช้ Click event ได้ แต่ Value ใช้ประโยชน์ได้ดีในการคลิกด้วยโปรแกรม นอกจากนี้ Command button สนับสนุน event แป้นพิมพ์ และเมาส์

การแทรกภาพกราฟฟิกใน Command button ให้ตั้งค่าคุณสมบัติ Style เป็น 1-Graphical แล้วเลือกภาพที่ต้องการในคุณสมบัติ Picture

Option Button

Option button เป็นกลุ่มของตัวเลือกตั้งแต่ 2 ตัวเลือก หรือมากกว่า และทำงานในฐานะเป็นของกลุ่มถ้ามีการเลือกปุ่มใดปุ่มหนึ่ง ปุ่มอื่นจะเปลี่ยนสถานะ ค่าคุณสมบัติของ Option button คล้ายกับ Check box

การสร้าง Option button ให้วาดโดยตรงบนฟอร์ม เพื่อสร้างเป็นกลุ่มตัวเลือก แต่ถ้าต้องการสร้าง Option button กลุ่มที่ 2 ต้องวางใน Frame โดยการวาด Frame แล้ววาง Option button ลงใน Frame จึงจะทำให้เป็นกลุ่มของตัวเลือกที่แยกจากกลุ่มแรก

Drive List Box, Dir List Box และ File List Box

ตัว control กลุ่มนี้เป็นกลุ่มพิเศษที่ใช้ประยุกต์ในระดับ nutshell โดย
Drive list box คล้ายกับ Combo box ใช้แสดงชื่อไดร์ฟ และป้ายชื่อ
Dir list box เป็น List box พิเศษ ที่แสดงโครงสร้างไดเรคทอรีแบบต้นไม้
File list box เป็น List box พิเศษ ที่ใช้แสดงไฟล์ในไดเรคทอรี ซึ่งสามารถกำหนดตัวเลือกให้กรองตามชื่อ, นามสกุลของไฟล์ หรือคุณลักษณะ

ตัว control กลุ่มนี้จะทำงานร่วมกันบนฟอร์มเดียวกัน เช่น เมื่อมีการเลือกไดร์ฟใน Drive list box แล้วให้ Dir list box ปรับค่าเพื่อแสดงไดเรคทอรีบนไดร์ฟ และเมื่อผู้ใช้เลือกไดเรคทอรี File list box จะแสดงรายการไฟล์ในไดเรคทอรีนั้นออกมา แต่การทำงานไม่ได้ขึ้นโดยอัตโนมัติ ผู้เขียนโปรแกรมต้องเขียนคำสั่งกำกับการทำงาน เช่นการแสดงไฟล์ใน File list box ต้องกำหนดคุณสมบัติ Pattern เพื่อให้แสดงไฟล์ที่ต้องการ

แสดงไฟล์ทุกไฟล์

File1. Pattern = "*.*"

แสดงไฟล์บางประเภท เช่น เฉพาะ .txt, .doc และ .rtf ให้เขียนไฟล์แต่ละประเภทแล้วแยกด้วยเครื่องหมาย semicolon ( ; )

File1. Pattern = "*.txt; *.doc; *.rtf"

ตัว control กลุ่มนี้มีข้อจำกัดบางประการในการประยุกต์ และ Visual Basic 6 มีตัว control ใหม่ คือ Image Combo

Dir list box ใช้คุณสมบัติ Path ในการเก็บค่าพาร์ท ตามตัวอย่างเก็บชื่อไดร์ฟ จากคุณสมบัติ Drive ของ Drive list box

Private Sub drvDrive_Change()
  ' beware: the Drive property also returns the volume label
  dirPath.Path = Left$(drvDrive.Drive, 1) & ":\"
End Sub

File list box สามารถกรองนามสกุลไฟล์ โดยใช้คุณสมบัติ Pattern
filFile.Pattern = "*.bmp;*.dib;*.wmf;*.emf;*.gif;*.jpg"

การแสดงและจัดลักษณะภาพบนฟอร์ม สามารถแสดงใน Picture box แต่เตรียมภาพที่นำเข้ามาด้วย Imageก่อนที่จะนำมาจัดลักษณะภาพใน Sub ShowImage

ดาวน์โหลดตัวอย่าง (ImgPreview.vbp)

Scroll Bar

แถบเลื่อนมีตัว control 2 แบบ คือ HScrollBar สำหรับแถบเลื่อนแนวนอน และ VScrollBar สำหรับแถบเลื่อนแนวตั้ง Visual Basic 6 ไม่สนับสนุนให้ตัว control แต่ถ้าต้องการนำไปประยุกต์ให้พิจารณาตั้งค่าคุณสมบัติที่เกี่ยวข้องคือ คุณสมบัติ Max และ Min เพื่อกำหนดช่วงของค่าที่ใช้งาน คุณสมบัติ Small Change สำหรับการเปลี่ยนค่าเมื่อคลิกบน Scroll bar และคุณสมบัติ Large Change สำหรับการเปลี่ยนแปลงค่า เมื่อคลิกที่ลูกศรปลาย Scroll bar ซึ่งคุณสมบัติ Small Change และ Large Change ต้องกำหนดให้สอดคล้องกัน

คุณสมบัติที่สำคัญ คือ Value ใช้ส่งค่าของตำแหน่งของแถบเลื่อน event ที่ใช้กับแถบเลื่อน คือ Change และ Scroll

Private Sub hsbFahrenheit_Change()
  Dim Deg As Double
  Deg = CDbl(hsbFahrenheit.Value)
  txtFahrenheit.Text = Deg

  hsbCelcius.Value = CelciusFromFahrenheit(Deg)
  txtCelcius.Text = CelciusFromFahrenheit(Deg)
End Sub

ดาวน์โหลดตัวอย่าง (Scroll.vbp)

Timer

Timer เป็นตัว control ที่มองไม่เห็นเมื่อเรียกใช้โปรแกรม โดยใช้สำหรับการส่ง pulse ไปยังโปรแกรมประยุกต์ปัจจุบัน การส่ง pulse ให้เขียนคำสั่งใน Timer event ซึ่งสามารถประยุกต์กับการทำงานเบื้องหลัง คุณสมบัติที่สำคัญ คือ Internal และ Enabled คุณสมบัติ Internal ใช้กำหนดค่าเป็น milliseconds ในการส่ง pulse ส่วนคุณสมบัติ Enabled ใช้ในการควบคุม event เมื่อมีการวางตัว control ลงบนฟอร์ม ค่า Internal ได้รับการกำหนดเป็น 0 แสดงว่าไม่มี event จึงต้องมีการกำหนดค่าคุณสมบัติที่เหมาะสมในตารางคุณสมบัติ หรือ event ของ Form_Load

Private Sub Timer1_Timer()
  Static AlarmSounded As Integer
  If lblTime.Caption <> CStr(Time) Then
    If Time >= AlarmTime And Not AlarmSounded Then
    Beep
    MsgBox "เวลาปลุก" & Time
    AlarmSounded = True
  ElseIf Time < AlarmTime Then
    AlarmSounded = False
  End If

   If WindowState = conMinimized Then
  ' ถ้ามีขนาดเล็กที่สุด ปรับค่า Caption ทุกนาที
    If Minute(CDate(Caption)) <> Minute(Time) Then
    SetCaptionTime
  Else
  ' กรณีอื่น ปรับค่า Caption ทุกวินาที
    lblTime.Caption = Time
    End If
  End If
End Sub

ดาวน์โหลดตัวอย่าง(Alarm.vbp)

 

  

สงวนลิขสิทธิ (C) widebase