วันจันทร์ที่ 27 มกราคม พ.ศ. 2557

2.2.4.เริ่มต้นใช้งานVisual Basic6

2.2.4.เริ่มต้นใช้งานVisual Basic6
         การสร้างโปรแกรมด้วย VB6 ในขั้นตอนแรกจะเป็นการออกแบบหน้าจอที่ติดต่อกับผู้ใช้ ซึ่งเป็นการนำคอนโทรลที่มีอยู่มาออกแบบฟอร์มให้เหมาะสม โดยที่ทั้งฟอร์ม และคอนโทรลเป็นเครื่องมือพื้นฐานในการเขียนโปรแกรมด้วย VB6
จากที่เราได้กล่าวมาแล้วว่าการสร้างโปรแกรมด้วย VB6 ในขั้นตอนแรกจะเป็นการออกแบบหน้าจอที่ติดต่อกับผู้ใช้ ซึ่งเป็นการนำคอนโทรลที่มีอยู่มาออกแบบฟอร์มให้เหมาะสม จะเห็นได้ว่าทั้งฟอร์มและคอนโทรลนั้น เป็นเครื่องมือพื้นฐานในการเขียนโปรแกรมด้วย VB6
ในบทนี้ เราจะกล่าวถึงหลักการพื้นฐานเกี่ยวกับฟอร์ม และคอนโทรลที่เราจำเป็นต้องทราบ เพื่อให้เราเข้าใจหลักการในการออกแบบหน้าจอมากขึ้น
รู้จักกับคุณสมบัติ เมดถอด  และอีเว็นต์
ในการทำงานกับฟอร์มและคอนโทรล เราจะต้องทำความคุ้นเคยกับ 3 คำต่อไปนี้ คือ คุณสมบัติ (Properties), เมดถอด (Method) และ อีเว็นต์ (Events)
คุณสมบัติ (Properties)
ที่ให้เรากำหนดลักษณะต่างๆ ของฟอร์มและคอนโทรล เช่น ปุ่มคำสั่งชื่อ MyCmd มีคุณสมบัติที่เรากำหนดได้ ดังรูป
เราสามารถกำหนดคุณสมบัติสำหรับคอนโทรลต่างๆ ผ่านหน้าต่าง Properties หรือโดยใช้คำสั่งที่มีรูปแบบ ดังต่อไปนี้ได้
MyCmd. Caption=”OK” เป็นการกำหนดค่าให้คุณสมบัติ Caption ของ MyCmd
MyCmd. Height= 1000  เป็นการกำหนดค่าให้คุณสมบัติ Height ของ MyCmd
MyCmd. Width= 2000   เป็นการกำหนดค่าให้คุณสมบัติ Width ของ MyCmd
จากข้างต้น ข้อมูลชนิดข้อความจะต้องมีเครื่องหมาย “คลุมหัวท้ายด้วย ส่วนข้อมูลชนิดตัวเลข ไม่จำเป็นต้องมีเครื่องหมายคลุม
เมดถอด (Method)
เป็นการสั่งให้ฟอร์ม หรือคอนโทรลทำงานตามที่เราร้องขอไป เช่น การสั่งให้ปุ่มคำสั่งชื่อ  MyCmd ในตัวอย่างที่ผ่านมาเปลี่ยนไปวางอยู่บนตำแหน่งเริ่มต้นบนฟอร์ม ดังรูป
ในการสั่งให้ปุ่มคำสั่งให้ทำงานตามที่เราต้องการข้างต้น ให้เราใส่คำสั่งต่อไปนี้
โดยที่คำสั่งนี้จะเป็นการสั่งให้คอนโทรลปุ่มคำสั่งชื่อ MyCmd ย้ายไปที่ตำแหน่ง 0, 0 ซึ่งเป็นตำแหน่ง 
  ในบทที่ผ่านมาเราได้กำหนดคุณสมบัติใน Properties Window มาแล้ว ซึ่งเป็นการกำหนดคุณสมบัติในขณะพัฒนาโปรแกรม (Design Time) ส่วนการกำหนดคุณสมบัติที่กล่าวในตอนต้นของบทนี้ จะเป็นการกำหนดในขณะรันโปรแกรม (Run Time) ที่เราจะกล่าวถึงอย่างละเอียดต่อไป
*    Form
ฟอร์มจะเป็นเครื่องมือที่เราจะต้องทำงานด้วยบ่อยมาก ในการสร้างโปรแกรมด้วย VB6 โดยที่ฟอร์มจะเป็นหน้าต่างที่ผู้ใช้ติดต่อทำงานด้วย ผ่านทางคอนโทรลต่างๆ ที่เราวางบนฟอร์ม ดังนั้นในหัวข้อนี้เราจะศึกษาคุณสมบัติ เมดถอด และอีเว็นต์ของฟอร์มที่จำเป็นก่อน
ในขั้นตอนแรก เราจะต้องกำหนดคุณสมบัติของฟอร์ม ซึ่งอาจจะผ่านทาง Properties Window ในการออกแบบ หรือกำหนดผ่านทางคำสั่งโปรแกรมในขณะรันก็ได้
คุณสมบัติที่สำคัญของฟอร์ม
            ฟอร์มมีคุณสมบัติต่างๆ มากมาย แต่เราจำเป็นต้องรู้จักในตอนนี้ มีดังตารางต่อไปนี้
คุณสมบัติ
คำอธิบาย
Name*
BorberStyle
MinButton,MaxButton
Caption*
Lcon
Height, Width*
Left, Top*
Movable
WindowState

Enabled*

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

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

       เมดถอดและอีเว็นต์ที่สำคัญของฟอร์ม
     ฟอร์มมีเมดถอด และอีเว็นต์ที่เราจำเป็นต้องรู้จักในตอนนี้ ดังตารางต่อไปนี้
ชื่อเมดถอด,อีเว็นต์
คำอธิบาย
Load
Resize
Active
Deactive
Click
DblClick
Show
Hide
Print
Cls

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

   ตัวอย่างที่  1  โปรมแกรมแสดงการทำงานบนฟอร์ม
ต่อไปจะเป็นตัวอย่างโปรแกรมที่จะช่วยให้เราเข้าใจสิ่งต่างๆ เกี่ยวกับฟอร์มมากยิ่งขึ้น ซึ่งเป็นการสร้างฟอร์ม 2 ฟอร์ม โดยที่ Form1 จะมีปุ่มคำสั่งเรียก Form2 ขึ้นมา และทั้ง 2 ฟอร์มจะมีปุ่ม Clear เพื่อลบข้อความบนฟอร์ม นอกจากนี้เมื่อมีเว็นต์ต่างๆ เกิดขึ้นบนฟอร์ม โปรแกรมจะเรียกเมดถอด Print ของฟอร์มพิมพ์ชื่ออีเว็นต์ที่เกิดขึ้นบนฟอร์ม
การทำงานของโปรแกรม แสดงได้ดังรูป
   
ขั้นตอนการสร้างโปรแกรม
1.       ให้เราเลือกโปรเจ็กต์ชนิด Standard.EXE
2.       วางคอนโทรลต่างๆ บน From1 และกำหนดคุณสมบัติต่างๆ ของฟอร์มและคอนโทรลบน Form1 
3. ให้เพิ่มฟอร์มชื่อ Form2 เข้าใจ ด้วยการคลิกเลือกเมนู Project>App Form
4. จะปรากฏฟอร์มใหม่ชื่อ Form2 ให้เรากำหนดคุณสมบัติของฟอร์ม และคอนโทรล
เมธอดของคอนโทรล TextBox
     สำหรับเมธอดของคอนโทรล TextBox ที่น่าสนใจ มีดังนี้
     เมธอดนี้มีหน้าที่สำหรับกำหนดให้คอนโทรล TextBox เคลื่อนย้ายตำแหน่ง หรือปรับขนาดของคอนโทรล โดยหน่วยวัดที่ใช้ จะขึ้นอยู่กับคุณสมบัติ ScaleMode ปกติแล้วจะมีหน่วยเป็น Twip มีรูปแบบการใช้งานดังนี้
Text1.Move left [, top, width, height]

คอนโทรล ListBox เป็นคอนโทรลที่ทำหน้าที่เป็นทางเลือกให้กับผู้ใช้ เช่นเดียวกับคอนโทรล OptionButton และ CheckBox ต่างกันตรงที่รูปแบบ การนำเสนอให้กับผู้ใช้ ในการใช้งานแบบปกติ ผู้ใช้จะสามารถเลือกได้ทีละรายการเท่านั้น   แต่คุณสามารถกำหนดให้คอนโทรล ListBox ถูกเลือกได้มากกว่าหนึ่งรายการ โดยแก้ไขที่คุณสมบัติ MultiSelect ได้ ถ้าคุณต้องการใช้งานคอนโทรล ListBox ให้คลิกเลือกที่ Description: vblistbox.gif (931 bytes) บนทูลบ็อกซ์ ดังรูป

แสดงคอนโทรล ListBox เมื่อปรากฏบนฟอร์ม

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


แสดงแถบ ScrollBar ที่คอนโทรล ListBox แสดงขึ้นมาโดยอัตโนมัติ
     ในการตั้งชื่อ (คุณสมบัติ Name) เพื่อใช้สำหรับอ้างอิงในการเขียนโค้ด คุณควรใช้คำนำหน้าว่า lst เช่น lstStart, lstDisplay เป็นต้น สำหรับคุณสมบัติแรกๆ ที่คุณควรทำความเข้าใจ ก็คือ รายการต่างๆ ที่อยู่ในคอนโทรล ListBox ถูกเพิ่มเข้าไปได้อย่างไร และลักษณะต่างๆ ของคอนโทรล ListBox มีข้อแตกต่างในการใช้งานอย่างไร
     การเพิ่มรายการต่างๆ เข้าไปในคอนโทรล ListBox คุณต้องกำหนดคุณสมบัติ List ซึ่งมีรูปแบบการใช้งานดังนี้ List1.List (index) [=string] ตัวแปร index หมายถึง เลขจำนวนเต็ม Integer ที่ใช้กำหนดลำดับของรายการต่างๆ ที่อยู่ในคอนโทรล ListBox ตัวแปร string หมายถึง ข้อความที่เป็นรายการ ซึ่งคุณต้องการเพิ่มเข้าไปในคอนโทรล ListBox
     โดยปกติแล้ว รายการแรกที่ปรากฎอยู่ในคอนโทรล ListBox จะมีค่า index=0 และรายการต่อๆ ไปจะมีค่า 1, 2, 3... ไปเรื่อยๆ จนกระทั่งถึงรายการสุดท้าย จะมีค่าเท่ากับ ListCount-1 ขอให้คุณจำเงื่อนไขนี้ไว้ให้ดี เพราะถือได้ว่า เป็นหัวใจหลักในการใช้งานคอนโทรลนี้เลยก็ว่าได้   เนื่องจากคุณจะต้องนำรายการ ที่ผู้ใช้เลือก (ค่า index ประจำแต่ละรายการ) ไปสร้างเป็นเงื่อนไขในการประมวลผลต่อไป ซึ่งจะมีความสัมพันธ์กับคุณสมบัติ ListIndex ด้วย
      การเพิ่มรายการต่างๆ เข้าไปในคอนโทรล ListBox ในขณะรัน คุณต้องใช้เมธอด AddItem แม้ว่าคุณจะสามารถเพิ่มรายการต่างๆ ในขณะออกแบบได้ โดยการใช้คุณสมบัติ List  ก็ตาม แต่ในทางปฏิบัติแล้ว คุณไม่ควรเพิ่มรายการในขณะออกแบบ ด้วยคุณสมบัติ List  เพราะจะทำให้เกิดข้อจำกัด ในการใช้งานได้ คุณควรที่จะเพิ่มรายการต่างๆ ในขณะรัน ด้วยเมธอด AddItem เท่านั้น (ซึ่งก็คือ ขณะเขียนโค้ดนั่นเอง) และคุณจะต้องเพิ่มรายการต่างๆ ให้เสร็จสมบูรณ์ ในเหตุการณ์ Form_Load ( ) เท่านั้น เช่น
Private Sub Form_Load()
   With List1
    .AddItem "One"
    .AddItem "Two"
    .AddItem "Three"
    .AddItem "Four"
   End With
End Sub

ไม่มีความคิดเห็น:

แสดงความคิดเห็น