การแสดง/ซ่อน Disable/Enable ปุ่ม บน ริบบิ้น ของ Access 2010
ความรู้พื้นฐานก่อนศึกษาเรื่องนี้
การสร้างริบบิ้น
การสร้างปุ่มบนริบบิ้นโดยใช้ภาพที่สร้างเอง
การ Disable ปุ่มบนริบบิ้น
การแสดง/ซ่อน หรือกำหนดสถานะเป็น ไม่ทำงาน/ทำงาน (Disable/Enable) ปุ่ม บน ริบบิ้น ของ Access 2010 ต้องดำเนินการผ่าน Callback โดยกำหนดให้เรียกใช้ ใน USysRibbons เช่น ถ้าต้องการให้ปุ่ม btnNewAcc มีสถานะทำงาน หรือไม่ทำงาน ก็ต้องเพิ่ม getEnabled = "ชื่อไฟล์คำสั่ง" เช่น
<button id="btnTransaction" label="ฝาก-ถอน" onAction="myButtonCallback" getEnabled="CallbackGetEnabled" />
จากนั้นจึงไปเขียนคำสั่ง ใน CallbackGetEnabled อีกครั้งหนึ่ง เช่น
Sub CallbackGetEnabled(control As IRibbonControl, ByRef enabled)
enabled = bolEnabled
End Sub
ในตัวอย่างข้างบน มีการกำหนดตัวแปร bolEnabled ให้เป็น global variable แล้วจากนั้น จึงไปกำหนดค่า ให้เป็น True หรือ False เมื่อต้องการ ในไฟล์ตัวอย่างที่แนบให้ดาวน์โหลดข้างล่างนี้ มีการกำหนดค่า เมื่อมีการคลิกปุ่มเลือกให้แสดงสถานะ การวาดริบบิ้นใหม่ (Redraw) ใช้คำสั่ง invalidate เช่น gobjRibbon.Invalidate
การซ่อนแถบ ก็ทำนองเดียวกัน เช่น กำหนดในปุ่ม ใน USysRibbons ดังนี้
<tab getvisible="myGetVisible" id="Tab2" label="การกู้เงิน" > และไปเขียนคำสั่ง ใน myGetVisible ดังนี้
Public Sub myGetVisible(control As IRibbonControl, ByRef visible)
Select Case control.id
Case "Tab2"
If showStatus = False Then
visible = False
Else
visible = True
End If
Case Else
visible = True
End Select
End Sub
ในตัวอย่าง ปุ่ม btnNewAcc ไม่ได้เรียกใช้งาน CallbackGetEnabled ดังนั้นจึงอยู่ในสถานะพร้อมใช้งานตลอด ไม่ถูกบังคับจากคำสั่งใน CallbackGetEnabled
ศึกษารายละเอียดได้จากไฟล์ตัวอย่าง
ดาวน์โหลดไฟล์ คลิกที่นี่
การสร้างริบบิ้น
การสร้างปุ่มบนริบบิ้นโดยใช้ภาพที่สร้างเอง
การ Disable ปุ่มบนริบบิ้น
การแสดง/ซ่อน หรือกำหนดสถานะเป็น ไม่ทำงาน/ทำงาน (Disable/Enable) ปุ่ม บน ริบบิ้น ของ Access 2010 ต้องดำเนินการผ่าน Callback โดยกำหนดให้เรียกใช้ ใน USysRibbons เช่น ถ้าต้องการให้ปุ่ม btnNewAcc มีสถานะทำงาน หรือไม่ทำงาน ก็ต้องเพิ่ม getEnabled = "ชื่อไฟล์คำสั่ง" เช่น
<button id="btnTransaction" label="ฝาก-ถอน" onAction="myButtonCallback" getEnabled="CallbackGetEnabled" />
จากนั้นจึงไปเขียนคำสั่ง ใน CallbackGetEnabled อีกครั้งหนึ่ง เช่น
Sub CallbackGetEnabled(control As IRibbonControl, ByRef enabled)
enabled = bolEnabled
End Sub
ในตัวอย่างข้างบน มีการกำหนดตัวแปร bolEnabled ให้เป็น global variable แล้วจากนั้น จึงไปกำหนดค่า ให้เป็น True หรือ False เมื่อต้องการ ในไฟล์ตัวอย่างที่แนบให้ดาวน์โหลดข้างล่างนี้ มีการกำหนดค่า เมื่อมีการคลิกปุ่มเลือกให้แสดงสถานะ การวาดริบบิ้นใหม่ (Redraw) ใช้คำสั่ง invalidate เช่น gobjRibbon.Invalidate
การซ่อนแถบ ก็ทำนองเดียวกัน เช่น กำหนดในปุ่ม ใน USysRibbons ดังนี้
<tab getvisible="myGetVisible" id="Tab2" label="การกู้เงิน" > และไปเขียนคำสั่ง ใน myGetVisible ดังนี้
Public Sub myGetVisible(control As IRibbonControl, ByRef visible)
Select Case control.id
Case "Tab2"
If showStatus = False Then
visible = False
Else
visible = True
End If
Case Else
visible = True
End Select
End Sub
ในตัวอย่าง ปุ่ม btnNewAcc ไม่ได้เรียกใช้งาน CallbackGetEnabled ดังนั้นจึงอยู่ในสถานะพร้อมใช้งานตลอด ไม่ถูกบังคับจากคำสั่งใน CallbackGetEnabled
ศึกษารายละเอียดได้จากไฟล์ตัวอย่าง
ดาวน์โหลดไฟล์ คลิกที่นี่
ความคิดเห็น
แสดงความคิดเห็น