Option Explicit
Private Sub Form_Load()
Me.Move (Screen.Width - Me.Width) \ 2, (Screen.Height - Me.Height) \ 2
With ARViewSample
.Zoom = 80 ' ค่า % ที่ใช้ในการแสดงผลบน Active Report Viewer
' ทดสอบการแทรกไอเทม (Insert) ไปที่ index = 5
' หรือตัวที่ 6 เพราะว่ามันเริ่มต้นนับจาก 0 น่ะครับ
.ToolBar.Tools.Insert 5, "แสดงก่อนพิมพ์" ' ในเครื่องหมาย Double Quote "" มันคือ Caption น่ะครับ
.ToolBar.Tools.Item(5).AddIcon LoadPicture(App.Path & "\Preview.ico")
' หรือ กำหนดค่า ID (Identifier) ให้กับ Item นี้ เป็นค่าตัวเลขจำนวนเต็มแบบ Integer น่ะครับ
' เรากำหนดเอาเอง แต่จะมีบางค่าในระดับหลักหมื่นขึ้นไป จะเป็นค่าที่สงวนเอาไว้ใช้งานของตัวมันเองครับ
' ก็กำหนดค่าต่ำๆเอาไว้ก็ได้ หากมันซ้ำประเดี๋ยวมันก็ฟ้องออกมาเองแหละ
' ประโยชน์เพื่อนำไปใช้ทดสอบว่าผู้ใช้งานเขา (หรือเธอ) กดปุ่มอะไรไงล่ะครับ ... พี่น้อง
.ToolBar.Tools(5).ID = 5
.ToolBar.Tools.Insert (6), "Export Excel"
.ToolBar.Tools.Item(6).AddIcon LoadPicture(App.Path & "\Excel.ico")
' กำหนดค่า ID (Identifier) ให้กับ Item นี้
.ToolBar.Tools(6).ID = 6
' เพิ่ม Item ที่ตำแหน่งท้ายสุดของจำนวน Item ทั้งหมดที่มีอยู่
.ToolBar.Tools.Add "ตั้งค่าเครื่องพิมพ์"
' หากอยากรู้ว่ามี Item ทั้งหมดแล้วกี่ตัว ก็นับจำนวนของ Item ด้วย Count
' MsgBox .ToolBar.Tools.Count
' อย่าลืมว่าการนับค่า Index ในคอมพิวเตอร์ มักจะเริ่มต้นที่ค่า 0 น่ะครับ
' ลองดูคำสั่งนี้ได้ MsgBox .ToolBar.Tools(0).Caption
' ใส่ไอคอนให้กะมันซ่ะ
.ToolBar.Tools.Item(23).AddIcon LoadPicture(App.Path & "\printer.ico")
.ToolBar.Tools(23).ID = 7
End With
End Sub
' เหตุการณ์ที่เกิดขึ้นตอนเราคลิ๊กเมาส์เลือกจาก ToolBar ที่อยู่ใน ARViewer
Private Sub ARViewSample_ToolbarClick(ByVal Tool As DDActiveReportsViewer2Ctl.IDDTool)
' การใช้งาน IDDTool อันนี้ให้ดูเพิ่มเติมจาก Help ได้ครับ
' การทดสอบเงื่อนไขได้ 2 แบบ คือ
' 1. ด้วย Caption ประจำตัวของ Item
' 2. ด้วย ID ที่เรากำหนดให้กับ Item แต่ละตัวเอง
' การทดสอบด้วย Caption
Select Case Tool.Caption
Case "แสดงก่อนพิมพ์"
MsgBox "คุณกดปุ่ม แสดงก่อนพิมพ์", vbOKOnly + vbInformation, "รายงาน"
Case "Export Excel"
MsgBox "คุณกดปุ่ม Export Excel", vbOKOnly + vbInformation, "รายงาน"
Case "ตั้งค่าเครื่องพิมพ์"
' เรียกใช้งานฟังค์ชั่นการตั้งค่าเครื่องพิมพ์ ...
' ก็คือ AR มันไปเรียกใช้ API ที่มีอยู่ใน "เล็กนิ่ม - Microsoft" นั่นเอง
ARViewSample.Printer.SetupDialog
End Select
' หรือ ทดสอบด้วยค่า ID (Identifier) ที่เรากำหนด
Select Case Tool.ID
Case 5
MsgBox "คุณกดปุ่ม แสดงก่อนพิมพ์", vbOKOnly + vbInformation, "รายงานสถานะ"
Case 6
MsgBox "คุณกดปุ่ม Export Excel", vbOKOnly + vbInformation, "รายงานสถานะ"
Case 7
MsgBox "คุณกดปุ่ม ตั้งค่าเครื่องพิมพ์", vbOKOnly + vbInformation, "รายงานสถานะ"
End Select
End Sub
Private Sub cmdExit_Click()
Unload Me
End Sub
Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
' จะใช้งานได้ต้องกำหนดคุณสมบัติของฟอร์ม KeyPreview = True ก่อนน่ะครับ
Select Case KeyCode
Case vbKeyF1: MsgBox "No help now."
Case vbKeyF10:
cmdExit_Click
End Select
End Sub
Private Sub Form_Resize()
fraData.Width = Me.ScaleWidth - 30
fraData.Height = Me.ScaleHeight - fraCommand.Height
ARViewSample.Move 15, 120, fraData.Width - 60, fraData.Height - 180
fraCommand.Move 15, fraData.Top + fraData.Height, Me.ScaleWidth - 30
cmdExit.Move fraCommand.Width - cmdExit.Width - 60
End Sub
Private Sub Form_Unload(Cancel As Integer)
On Error Resume Next
' การสร้างรายงานมักจะมีไฟล์ Temporary เกิดขึ้นมา เพื่อไม่ให้เกิดความรกรุงรังในโฟลเดอร์
' เราจึงต้องสั่งลบไฟล์เหล่านี้ด้วยคำสั่ง Kill ออกไปครับ ... พี่น้อง
If Dir$(App.Path & "\*.tmp") <> "" Then
Kill App.Path & "\*.tmp"
End If
End
End Sub
|