ເນື້ອໃນ

# ບໍລິການ SFWidgets.ToolbarButton

ບໍລິການ ToolbarButton ຊ່ວຍໃຫ້ສາມາດດຶງຂໍ້ມູນທີ່ກ່ຽວຂ້ອງກັບປຸ່ມແຖບເຄື່ອງມືທີ່ມີຢູ່ໃນແຖບເຄື່ອງມືທີ່ກຳນົດ. ດ້ວຍບໍລິການນີ້, ທ່ານສາມາດ:

- ສະຫຼັບການສະແດງຜົນ (ເປີດ/ປິດ) ຂອງອົງປະກອບແຖບເຄື່ອງມື.

- ປະຕິບັດຄຳສັ່ງທີ່ກ່ຽວຂ້ອງກັບປຸ່ມແຖບເຄື່ອງມືທີ່ກຳນົດ.

## ການເອີ້ນໃຊ້ບໍລິການ

ກ່ອນທີ່ຈະໃຊ້ບໍລິການ ToolbarButton, ໄລບຣາລີ ScriptForge ຈະຕ້ອງຖືກໂຫຼດ ຫຼື ນຳເຂົ້າກ່ອນ:

• ມາໂຄຣ Basic ຕ້ອງມີການໂຫຼດຄັງສຳນວນ ScriptForge ໂດຍໃຊ້ຄຳສັ່ງດັ່ງນີ້:
GlobalScope.BasicLibraries.loadLibrary("ScriptForge")
• ສະຄຣິບ Python ຕ້ອງມີການນຳເຂົ້າຈາກໂມດູນ scriptforge:
from scriptforge import CreateScriptService

ບໍລິການ ToolbarButton ຖືກເອີ້ນໃຊ້ໂດຍວິທີການ ToolbarButtons ຈາກບໍລິການ Toolbar.

##### ໃນ Basic

ຕົວຢ່າງດ້ານລຸ່ມນີ້ຈະດຶງຊື່ຂອງປຸ່ມທັງໝົດທີ່ມີຢູ່ໃນແຖບເຄື່ອງມື Standard.

        oDoc = CreateScriptService("Document", ThisComponent)
        oToolbar = oDoc.Toolbars("standardbar")
        arrToolbarButtons = oToolbar.ToolbarButtons()
        MsgBox SF_String.Represent(arrToolbarButtons)

ໃຊ້ວິທີການ ToolbarButtons ໂດຍບໍ່ມີອາກິວເມນ ເພື່ອດຶງອາເຣຂອງຊື່ປຸ່ມແຖບເຄື່ອງມືທີ່ມີຢູ່ທັງໝົດ.

ຕົວຢ່າງດ້ານລຸ່ມນີ້ຈະສະຫຼັບການສະແດງຜົນຂອງປຸ່ມ Print ໃນແຖບເຄື່ອງມື Standard:

        oDoc = CreateScriptService("Document", ThisComponent)
        oToolbar = oDoc.Toolbars("standardbar")
        oToolbarButton = oToolbar.ToolbarButtons("Print")
        oToolbarButton.Visible = Not oToolbarButton.Visible

ຊື່ປຸ່ມທີ່ສົ່ງເປັນອາກິວເມນໄປຍັງວິທີການ ToolbarButtons ແມ່ນຊື່ປຸ່ມທີ່ແປເປັນພາສາທ້ອງຖິ່ນຕາມທີ່ກຳນົດໄວ້ໃນກ່ອງໂຕ້ຕອບ Tools - Customize - Toolbars.

ແຖບເຄື່ອງມືທີ່ບໍ່ໄດ້ເຮັດວຽກຈະບໍ່ມີປຸ່ມ. ດັ່ງນັ້ນ, ການເອີ້ນໃຊ້ວິທີການ ToolbarButtons ຈະເຮັດໃຫ້ແຖບເຄື່ອງມືສະແດງໃຫ້ເຫັນ.

##### ໃນ Python

        bas = CreateScriptService("Basic")
        doc = CreateScriptService("Document", bas.ThisComponent)
        toolbar = doc.Toolbars("standardbar")
        arr_toolbar_buttons = toolbar.ToolbarButtons()
        bas.MsgBox(repr(arr_toolbar_buttons))

        bas = CreateScriptService("Basic")
        doc = CreateScriptService("Document", bas.ThisComponent)
        toolbar = doc.Toolbars("standardbar")
        toolbar_button = toolbar.ToolbarButtons("Print")
        toolbar_button.Visible = not toolbar_button.Visible

## ຄຸນສົມບັດ

ຊື່ | ອ່ານຢ່າງດຽວ | ປະເພດ | ຄຳອະທິບາຍ
--- | --- | --- | ---
Caption | ແມ່ນ | String | ສົ່ງຄືນຊື່ຂອງປຸ່ມ.
Height | ແມ່ນ | Long | ສົ່ງຄືນຄວາມສູງຂອງປຸ່ມ, ເປັນພິກເຊວ.
Index | ແມ່ນ | Long | ສົ່ງຄືນລຳດັບ (index) ຂອງປຸ່ມໃນແຖບເຄື່ອງມືຫຼັກ.
OnClick | ບໍ່ແມ່ນ | String | ຄຳສັ່ງ UNO ຫຼື ສະຄຣິບທີ່ຖືກປະຕິບັດເມື່ອປຸ່ມຖືກກົດ. ອ່ານໜ້າ Wiki Scripting Framework URI Specification ເພື່ອຮຽນຮູ້ເພີ່ມເຕີມກ່ຽວກັບວິທີກຳນົດຂໍ້ຄວາມ URI.
Parent | ແມ່ນ | ບໍລິການ Toolbar | ສົ່ງຄືນອິນສະແຕນຊ໌ຂອງບໍລິການ Toolbar ທີ່ກົງກັບແຖບເຄື່ອງມືຫຼັກຂອງປຸ່ມແຖບເຄື່ອງມືປັດຈຸບັນ.
TipText | ບໍ່ແມ່ນ | String | ກຳນົດຂໍ້ຄວາມແນະນຳ (tooltip) ທີ່ຈະສະແດງເມື່ອຜູ້ໃຊ້ເລື່ອນເມົາສ໌ໄປວາງເທິງປຸ່ມແຖບເຄື່ອງມື.
Visible | ບໍ່ແມ່ນ | Boolean | ກຳນົດວ່າຈະໃຫ້ປຸ່ມແຖບເຄື່ອງມືສະແດງໃຫ້ເຫັນຫຼືບໍ່.
Width | ແມ່ນ | Long | ສົ່ງຄືນຄວາມກວ້າງຂອງປຸ່ມ, ເປັນພິກເຊວ.
X | ແມ່ນ | Long | ສົ່ງຄືນຄ່າພິກັດ X (ແນວນອນ) ຂອງມຸມເທິງຊ້າຍຂອງປຸ່ມ, ເປັນພິກເຊວ.
Y | ແມ່ນ | Long | ສົ່ງຄືນຄ່າພິກັດ Y (ແນວຕັ້ງ) ຂອງມຸມເທິງຊ້າຍຂອງປຸ່ມ, ເປັນພິກເຊວ.

## ການໃຊ້ ToolbarButton ຮ່ວມກັບບໍລິການ PopupMenu

ກໍລະນີການໃຊ້ງານທົ່ວໄປຂອງຄຸນສົມບັດ X ແລະ Y ທີ່ໄດ້ກ່າວມາຂ້າງເທິງ ແມ່ນເພື່ອເປີດເມນູປັອບອັບໃນຕຳແໜ່ງທີ່ປຸ່ມແຖບເຄື່ອງມືຕັ້ງຢູ່.

ສົມມຸດວ່າທ່ານສ້າງສະຄຣິບດ້ານລຸ່ມນີ້ ແລະ ເຊື່ອມໂຍງມັນກັບປຸ່ມທີ່ຊື່ວ່າ "My Button" ໃນ standardbar. ເມື່ອມັນຖືກຄລິກ, ເມນູປັອບອັບຈະສະແດງຂຶ້ນພ້ອມກັບ 3 ຕົວເລືອກໃຫ້ຜູ້ໃຊ້ເລືອກ.

##### ໃນ Basic

        Sub OpenPopupMenu()
            GlobalScope.BasicLibraries.LoadLibrary("ScriptForge")
            oDoc = CreateScriptService("Document", ThisComponent)
            oToolbar = oDoc.Toolbars("standardbar")
            oButton = oToolbar.ToolbarButtons("My Button")
            oPopup = CreateScriptService("SFWidgets.PopupMenu", , oButton.X, oButton.Y + oButton.Height)
            oPopup.AddItem("Item A", "A")
            oPopup.AddItem("Item B", "B")
            oPopup.AddItem("Item C", "C")
            strResponse = oPopup.Execute(False)
            MsgBox "ທາງເລືອກຂອງທ່ານ: " & strResponse
        End Sub

##### ໃນ Python

        def open_popup_menu(args=None):
            bas = CreateScriptService("Basic")
            doc = CreateScriptService("Document", bas.ThisComponent)
            toolbar = doc.Toolbars("standardbar")
            toolbutton = toolbar.ToolbarButtons("My Button")
            popup = CreateScriptService("PopupMenu", None, toolbutton.X, toolbutton.Y + toolbutton.Height)
            popup.AddItem("Item A", "A")
            popup.AddItem("Item B", "B")
            popup.AddItem("Item C", "C")
            response = popup.Execute(False)
            bas.MsgBox(f"ທາງເລືອກຂອງທ່ານ: {response}")

ລາຍຊື່ວິທີການໃນບໍລິການ ToolbarButton
Execute |  |

## Execute

ປະຕິບັດຄຳສັ່ງ ຫຼື ສະຄຣິບທີ່ກ່ຽວຂ້ອງກັບປຸ່ມແຖບເຄື່ອງມື.

ວິທີການນີ້ຈະສົ່ງຄືນຄ່າທີ່ໄດ້ຈາກຄຳສັ່ງ ຫຼື ສະຄຣິບທີ່ຖືກປະຕິບັດ.

ໃຊ້ຄຸນສົມບັດ OnClick ເພື່ອກຳນົດຄຳສັ່ງ ຫຼື ສະຄຣິບທີ່ຈະຖືກປະຕິບັດ. ຖ້າຄຳສັ່ງ/ສະຄຣິບບໍສົ່ງຄືນຄ່າໃດໆ, ມັນຈະສົ່ງຄ່າ Null ກັບຄືນມາ.

### ໄວຍາກອນ:

svc.Execute(): any

### ຕົວຢ່າງ:

ຕົວຢ່າງດ້ານລຸ່ມນີ້ຈະປະຕິບັດຄຳສັ່ງຂອງປຸ່ມ Print ຈາກແຖບເຄື່ອງມື Standard:

##### ໃນ Basic

          oDoc = CreateScriptService("Document", ThisComponent)
          oToolbar = oDoc.Toolbars("standardbar")
          oToolbarButton = oToolbar.ToolbarButtons("Print")
          oToolbarButton.Execute()

##### ໃນ Python

          bas = CreateScriptService("Basic")
        doc = CreateScriptService("Document", bas.ThisComponent)
        toolbar = doc.Toolbars("standardbar")
        toolbar_button = toolbar.ToolbarButtons("Print")
        toolbar_button.Execute()

ຣູທີນ ຫຼື ຕົວລະບຸ Basic ຂອງ ScriptForge ທັງໝົດທີ່ຂຶ້ນຕົ້ນດ້ວຍເຄື່ອງໝາຍຂີດກ້ອງ "_" ແມ່ນສະຫງວນໄວ້ສຳລັບໃຊ້ພາຍໃນ. ພວກມັນບໍ່ໄດ້ມີໄວ້ໃຫ້ໃຊ້ໃນມາໂຄຣ Basic ຫຼື ສະຄຣິບ Python.

ຫົວຂໍ້ທີ່ກ່ຽວຂ້ອງ

ບໍລິການ SFWidgets.Toolbar