วันอังคารที่ 17 มิถุนายน พ.ศ. 2557

การแสดง/ซ่อน 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

ศึกษารายละเอียดได้จากไฟล์ตัวอย่าง



ดาวน์โหลดไฟล์ คลิกที่นี่


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

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