Visual Basic

Home

Visual Basic Tutorial
Knowledge Developer Database Internet Resource
Common Control 1
1. Common Control 1
2. Image List
3. List View
4. Tree View
5. Image Combo
6. Status Bar และ Progress Bar
 
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
 

Image Combo

Image combo เป็นตัว control ใหม่ใน Visual Basic 6 ลักษณะภายนอกเหมือนกับ Combo box ที่สนับสนุนภาพและการย่อหน้าที่ต่างกันของแต่ละรายการในด้านโปรแกรม สิ่งที่แตกต่างจาก Combo box คือ Image combo ใช้สถาปัตยกรรม Object-Oriented และมี collection ของ Combo items เป็นที่เก็บอ๊อบเจค Combo item

การตั้งค่าคุณสมบัติเมื่อออกแบบ

Image combo มีคุณสมบัติที่ต้องตั้งค่าคือ คุณสมบัติ ImageList ที่อ้างถึง Image list ที่เก็บภาพสำหรับการแสดงหน้าแต่ละอ๊อบเจค Combo item คุณสมบัติ Indentation ตั้งค่าเริ่มต้นของการย่อหน้าของอ๊อบเจค Combo item และสามารถรวมกับแหล่งข้อมูลได้ และสนับสนุนคุณสมบัติ DataXXXX

การทำงานเมื่อเรียกใช้

Image combo เพิ่มรายการโดยใช้เมธอด Add ของ collection ของ Combo items ตามไวยากรณ์นี้

Add ( [Index], [Key], [Text], [Image], [Selimage], [Indentation]) As ComboItem

Index เป็นตำแหน่งที่แทรกรายการ Combo item ใหม่
Key เป็น คีย์ ของ collection
Text เป็นข้อความที่ปรากฏในตัว control
Image เป็นภาพที่เกี่ยวข้อง
Selimage เป็นภาพที่แสดงออกเมื่อมีการเลือกรายการ
Indentation เป็นระดับการย่อหน้า

Sub LoadDrivesToImageCombo(Imgcbo As ImageCombo)
   Dim fso As New Scripting.FileSystemObject, dr As Scripting.Drive
   Dim drLabel As String, drImage As String
   ' ตัว control มีสามไอคอน ตามชื่อ
   Imgcbo.ComboItems.Add , , "My Computer", "MyComputer"
   For Each dr In fso.Drives
      ' รูปของไดร์ฟแต่ละประเภท
      Select Case dr.DriveType
         Case Removable: drImage = "FloppyDrive"
         Case CDRom: drImage = "CDDrive"
         Case Else: drImage = "HardDrive"
      End Select
      ' ดึง ตัวหนังสือและชื่อ volumn
      drLabel = dr.DriveLetter & ": "
      If dr.IsReady Then
         If Len(dr.VolumeName) Then drLabel = drLabel & "[" &             dr.VolumeName & "]"
      End If
      Imgcbo.ComboItems.Add , dr.DriveLetter, drLabel, drImage, , 2
   Next
   ' เลือกไดร์ฟปัจจุบัน
   Set Imgcbo.SelectedItem = Imgcbo.ComboItems(Left$(CurDir$, 1))
End Sub

การเลือกอ๊อบเจค Combo item สามารถใช้คุณสมบัติ SelectItem ของ Image combo (ตามตัวอย่างข้างบน) แล้ว ยังสามารถใช้คุณสมบัติ Selected ของแต่ละอ๊อบเจค Combo item

' เมธอดทางเลือกของไดร์ฟปัจจุบัน
Set Imgcbo.ComboItems(Left$(CurDir$, 1)).Selected = True

การปรับปรุงข้อความโดยไม่มีการยกเลิกหรือเพิ่ม สามารถใช้แบบเดียวกับ Combo Box มาตรฐาน

' เปลี่ยนข้อความของข้อมูลแรก
ImgCombo.ComboItems(1).Text = "My computer"

การยกเลิกรายการ Combo item ใช้เมธอด Remove ของ collection ของ Combo items และถ้าต้องการลบทั้งหมด ใช้เมธอด Clear ของ collection

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

 

  

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