ບໍລິການ SFDialogs.Dialog

ບໍລິການ Dialog ຊ່ວຍໃນການຈັດການໄດອາລັອກ (dialog) ທີ່ສ້າງຂຶ້ນດ້ວຍ Basic Dialog Editor ຫຼື ໄດອາລັອກທີ່ສ້າງຂຶ້ນແບບທັນທີ (on-the-fly). ແຕ່ລະອິນສະແຕນຊ໌ຂອງຄລາສປັດຈຸບັນແມ່ນຕົວແທນຂອງກ່ອງໄດອາລັອກດຽວທີ່ສະແດງໃຫ້ຜູ້ໃຊ້ເຫັນ.

ໄອຄອນ ເຄັດລັບ

ກ່ອງໄດອາລັອກສາມາດສະແດງໄດ້ທັງໃນຮູບແບບ modal ຫຼື non-modal.


ໃນຮູບແບບ modal, ກ່ອງຈະສະແດງຂຶ້ນ ແລະ ການປະຕິບັດງານຂອງມາກໂຣ (macro) ຈະຖືກຢຸດຊົ່ວຄາວ ຈົນກວ່າຈະມີການກົດປຸ່ມ OK ຫຼື Cancel. ໃນລະຫວ່າງນັ້ນ, ການກະທຳຂອງຜູ້ໃຊ້ໃນກ່ອງນັ້ນສາມາດກະຕຸ້ນໃຫ້ເກີດການເຮັດວຽກທີ່ສະເພາະເຈາະຈົງໄດ້.

ໃນຮູບແບບ non-modal, ກ່ອງໄດອາລັອກຈະ "ລອຍ" ຢູ່ເທິງເດັສທັອບຂອງຜູ້ໃຊ້ ແລະ ການປະຕິບັດງານຂອງມາກໂຣຈະດຳເນີນຕໍ່ໄປຕາມປົກກະຕິ. ໄດອາລັອກແບບ non-modal ຈະປິດລົງເມື່ອຖືກຢຸດດ້ວຍວິທີ Terminate() ຫຼື ເມື່ອເຊດຊັນ (session) ຂອງ LibreOffice ສິ້ນສຸດລົງ. ປຸ່ມປິດໜ້າຕ່າງຈະບໍ່ສາມາດໃຊ້ງານໄດ້ໃນໄດອາລັອກແບບ non-modal.

ກ່ອງໄດອາລັອກຈະຫາຍໄປຈາກໜ່ວຍຄວາມຈຳ ຫຼັງຈາກທີ່ມັນຖືກສັ່ງໃຫ້ຢຸດການເຮັດວຽກຢ່າງຊັດເຈນ.

ໄອຄອນ ເຄັດລັບ

ບໍລິການ SFDialogs.Dialog ມີຄວາມກ່ຽວພັນຢ່າງໃກ້ຊິດກັບບໍລິການ SFDialogs.DialogControl.


ການເອີ້ນໃຊ້ ແລະ ການນຳໃຊ້ບໍລິການ

ກ່ອນຈະໃຊ້ບໍລິການ Dialog, ຫ້ອງສະໝຸດ ScriptForge ຈຳເປັນຕ້ອງໄດ້ຖືກໂຫຼດ ຫຼື ນຳເຂົ້າກ່ອນ:

ໄອຄອນ ບັນທຶກ

• ມາໂຄຣ Basic ຕ້ອງມີການໂຫຼດຄັງສຳນວນ ScriptForge ໂດຍໃຊ້ຄຳສັ່ງດັ່ງນີ້:
GlobalScope.BasicLibraries.loadLibrary("ScriptForge")

• ສະຄຣິບ Python ຕ້ອງມີການນຳເຂົ້າຈາກໂມດູນ scriptforge:
from scriptforge import CreateScriptService


ບໍລິການ Dialog ຖືກເອີ້ນໃຊ້ຜ່ານວິທີ CreateScriptService. ມັນຕ້ອງການອາຄິວເມັ້ນຕຳແໜ່ງເສີມ 3 ຕົວ ເພື່ອກຳນົດກ່ອງໄດອາລັອກທີ່ຈະເປີດໃຊ້ງານ:

Container: "GlobalScope" ສຳລັບຫ້ອງສະໝຸດທີ່ຕິດຕັ້ງມາກັບໂປຣແກຣມ ຫຼື ຊື່ໜ້າຕ່າງຕາມທີ່ກຳນົດໂດຍບໍລິການ ScriptForge.UI. ຄ່າເລີ່ມຕົ້ນເປັນຂໍ້ຄວາມວ່າງ "" ໝາຍເຖິງເອກະສານປັດຈຸບັນ.

Library: ຊື່ຂອງຫ້ອງສະໝຸດທີ່ມີຢູ່ໃນຄອນເທນເນີ (ແຍກຕົວອັກສອນນ້ອຍ-ໃຫຍ່). ຄ່າເລີ່ມຕົ້ນແມ່ນ "Standard".

DialogName: ຂໍ້ຄວາມທີ່ລະບຸຊື່ໄດອາລັອກ (ແຍກຕົວອັກສອນນ້ອຍ-ໃຫຍ່).

ຕົວຢ່າງລຸ່ມນີ້ໃນ Basic ແລະ Python ສະແດງໄດອາລັອກ dlgConsole ເຊິ່ງເປັນສ່ວນໜຶ່ງຂອງຫ້ອງສະໝຸດສ່ວນກາງ ScriptForge:


      Dim oDlg As Object, lButton As Long
      Dim Container As String, Library As String, DialogName As String
      Set oDlg = CreateScriptService("SFDialogs.Dialog", "GlobalScope", "ScriptForge", "dlgConsole")
      '... ເລີ່ມຕົ້ນການຕັ້ງຄ່າການຄວບຄຸມຢູ່ບ່ອນນີ້...
      lButton = oDlg.Execute()
      'ຮູບແບບເລີ່ມຕົ້ນ = Modal
      If lButton = oDlg.OKBUTTON Then
      '... ປະມວນຜົນການຄວບຄຸມ ແລະ ເຮັດສິ່ງທີ່ຈຳເປັນຢູ່ບ່ອນນີ້
      End If
      oDlg.Terminate()
  

ຫຼື ໃຊ້ Python:


    dlg = CreateScriptService('SFDialogs.Dialog', 'GlobalScope', 'ScriptForge', 'dlgConsole')
    # ... ເລີ່ມຕົ້ນການຕັ້ງຄ່າການຄວບຄຸມຢູ່ບ່ອນນີ້...
    rc = dlg.Execute()
    # ຮູບແບບເລີ່ມຕົ້ນແມ່ນ Modal
    if rc == dlg.OKBUTTON:
        # ... ປະມວນຜົນການຄວບຄຸມ ແລະ ເຮັດສິ່ງທີ່ຈຳເປັນຢູ່ບ່ອນນີ້
    dlg.Terminate()
  
ໄອຄອນ ບັນທຶກ

ໃຊ້ຂໍ້ຄວາມ "GlobalScope" ເປັນອາຄິວເມັ້ນ container ເມື່ອໄດອາລັອກຖືກເກັບໄວ້ໃນ ມາກໂຣ ແລະ ໄດອາລັອກຂອງຂ້ອຍ ຫຼື ໃນ ມາກໂຣ ແລະ ໄດອາລັອກຂອງແອັບພລິເຄຊັນ.


ໄອຄອນ ເຄັດລັບ

ບໍລິການໄດອາລັອກມີວິທີຕ່າງໆທີ່ສ້າງຕົວຄວບຄຸມໃໝ່ແບບໄດນາມິກໃນໄດອາລັອກທີ່ມີຢູ່ແລ້ວ ເຊິ່ງຖືກກຳນົດໄວ້ລ່ວງໜ້າດ້ວຍ Dialog Editor. ໄດອາລັອກຈະຖືກເລີ່ມຕົ້ນດ້ວຍຕົວຄວບຄຸມໃນ Dialog Editor ແລະ ສາມາດເພີ່ມຕົວຄວບຄຸມໃໝ່ໄດ້ໃນລະຫວ່າງການເຮັດວຽກ (run-time) ກ່ອນ ຫຼື ຫຼັງຄຳສັ່ງ Execute() ຂອງໄດອາລັອກ.


ບໍລິການ Dialog ສາມາດເອີ້ນໃຊ້ໄດ້ຄືກັນ - ຜ່ານວິທີ CreateScriptService - ເມື່ອສ້າງໄດອາລັອກແບບທັນທີ. ມັນຕ້ອງການອາຄິວເມັ້ນຕຳແໜ່ງເສີມສອງຕົວ ຫຼັງຈາກຊື່ຂອງບໍລິການສະເພາະກິດ "NewDialog":

DialogName: ຂໍ້ຄວາມທີ່ລະບຸຊື່ໄດອາລັອກ (ແຍກຕົວອັກສອນນ້ອຍ-ໃຫຍ່).

Place: ຕຳແໜ່ງໜ້າຕ່າງຂອງໄດອາລັອກ ເຊິ່ງອາດເປັນ:

ອົງປະກອບທັງໝົດສະແດງອອກໃນຫົວໜ່ວຍ Map AppFont.


    Sub newDialog()
        Dim oDlg As Object
       oDlg = CreateScriptService("NewDialog", "myDialog1", Array(100,200, 40, 110))
       ' ...
    End Sub
  

ຫຼື ໃຊ້ Python:


    def newDialog():
       dlg = CreateScriptService('NewDialog', 'myDialog1', (100,200, 40, 110))
       # ... ປະມວນຜົນການຄວບຄຸມ ແລະ ເຮັດສິ່ງທີ່ຈຳເປັນ
  

ຄຸນສົມບັດ ແລະ ວິທີທັງໝົດທີ່ໃຊ້ໄດ້ກັບໄດອາລັອກທີ່ກຳນົດໄວ້ລ່ວງໜ້າ ແມ່ນມີໃຫ້ໃຊ້ສຳລັບໄດອາລັອກໃໝ່ເຫຼົ່ານີ້ຄືກັນ. ໂດຍສະເພາະແມ່ນຊຸດຂອງວິທີ CreateXXX() ສຳລັບການເພີ່ມຕົວຄວບຄຸມໄດອາລັອກໃໝ່.

ການດຶງເອົາອິນສະແຕນຊ໌ໄດອາລັອກທີ່ກະຕຸ້ນໃຫ້ເກີດເຫດການໄດອາລັອກ

ອິນສະແຕນຊ໌ຂອງບໍລິການ Dialog ສາມາດດຶງມາໄດ້ຜ່ານບໍລິການ SFDialogs.DialogEvent, ໂດຍມີເງື່ອນໄຂວ່າໄດອາລັອກນັ້ນຕ້ອງຖືກເລີ່ມຕົ້ນດ້ວຍບໍລິການ Dialog. ໃນຕົວຢ່າງລຸ່ມນີ້, oDlg ບັນຈຸອິນສະແຕນຊ໌ Dialog ທີ່ກະຕຸ້ນໃຫ້ເກີດເຫດການໄດອາລັອກ.


    Sub aDialogEventHander(ByRef poEvent As Object)
        Dim oDlg As Object
        Set oDlg = CreateScriptService("SFDialogs.DialogEvent", poEvent)
        ' ...
    End Sub
  

ຫຼື ໃຊ້ Python:


    def control_event_handler(event: uno):
        dlg = CreateScriptService("SFDialogs.DialogEvent", event)
        # ...
  

ໝາຍເຫດວ່າໃນຕົວຢ່າງກ່ອນໜ້ານີ້, ຄຳນຳໜ້າ "SFDialogs." ອາດຈະຖືກຕັດອອກໄດ້ຕາມຄວາມເໝາະສົມ.

ການຈັດການຂໍ້ຜິດພາດ (exceptions) ໃນຕົວຈັດການເຫດການ

ເມື່ອສ້າງຕົວຈັດການເຫດການສຳລັບເຫດການໄດອາລັອກ, ມັນເປັນວິທີທີ່ດີທີ່ຈະຈັດການຂໍ້ຜິດພາດພາຍໃນ subroutine ນັ້ນເອງ. ຕົວຢ່າງ, ສົມມຸດວ່າຕົວຈັດການເຫດການລຸ່ມນີ້ຖືກເອີ້ນໃຊ້ເມື່ອມີການກົດປຸ່ມເມົາສ໌ໃນໜ້າຕ່າງໄດອາລັອກ.


    Sub OnMouseButtonPressed(ByRef oEvent As Object)
    On Local Error GoTo Catch
        Dim oDialog As Object
        oDialog = CreateScriptService("DialogEvent", oEvent)
        ' ປະມວນຜົນເຫດການ
        Exit Sub
    Catch:
        MsgBox SF_Exception.Description
        SF_Exception.Clear
    End Sub
  
ໄອຄອນ ເຄັດລັບ

ເອີ້ນໃຊ້ SF_Exception.Clear ຖ້າທ່ານບໍ່ຕ້ອງການໃຫ້ຂໍ້ຜິດພາດແຜ່ກະຈາຍໄປຫຼັງຈາກການເຮັດວຽກຂອງໄດອາລັອກສິ້ນສຸດລົງ.


ໃນ Python, ໃຫ້ໃຊ້ບລັອກ try/except ຂອງມັນເອງສຳລັບການຈັດການຂໍ້ຜິດພາດ ດັ່ງທີ່ສະແດງລຸ່ມນີ້:


    def on_mouse_button_pressed(event=None):
        try:
            dlg = CreateScriptService("DialogEvent", event)
            # ປະມວນຜົນເຫດການ
        except Exception as e:
            # ວັດຖຸ "bas" ແມ່ນອິນສະແຕນຊ໌ຂອງບໍລິການ Basic
            bas.MsgBox(str(e))
  

ຄຸນສົມບັດ

ຊື່

ອ່ານຢ່າງດຽວ

ປະເພດ

ຄຳອະທິບາຍ

OKBUTTON

ແມ່ນ

Integer

ຄ່າ = 1. ມີການກົດປຸ່ມ OK.

CANCELBUTTON

ແມ່ນ

Integer

ຄ່າ = 0. ມີການກົດປຸ່ມ Cancel.

Caption

ບໍ່

String

ກຳນົດຫົວຂໍ້ຂອງໄດອາລັອກ.

Height

ບໍ່

Long

ກຳນົດຄວາມສູງຂອງກ່ອງໄດອາລັອກ.

Modal

ແມ່ນ

Boolean

ລະບຸວ່າກ່ອງໄດອາລັອກກຳລັງເຮັດວຽກຢູ່ໃນຮູບແບບ modal ຫຼື ບໍ່.

Name

ແມ່ນ

String

ຊື່ຂອງໄດອາລັອກ

Page

ບໍ່

Integer

ໄດອາລັອກອາດມີຫຼາຍໜ້າ ເຊິ່ງຜູ້ໃຊ້ສາມາດເລື່ອນເບິ່ງໄດ້ເທື່ອລະຂັ້ນ. ຄຸນສົມບັດ Page ຂອງວັດຖຸ Dialog ກຳນົດວ່າໜ້າໃດຂອງໄດອາລັອກກຳລັງຖືກໃຊ້ງານຢູ່.

Visible

ບໍ່

Boolean

ກຳນົດວ່າກ່ອງໄດອາລັອກຈະສະແດງໃຫ້ເຫັນເທິງເດັສທັອບຫຼືບໍ່. ໂດຍປົກກະຕິແລ້ວມັນຈະເບິ່ງບໍ່ເຫັນ ຈົນກວ່າຈະມີການເອີ້ນໃຊ້ວິທີ Execute() ແລະ ຈະສະແດງໃຫ້ເຫັນຫຼັງຈາກນັ້ນ.

XDialogModel

ແມ່ນ

ວັດຖຸ
UNO

ວັດຖຸ UNO ທີ່ເປັນຕົວແທນຂອງໂມເດວໄດອາລັອກ. ສາມາດເບິ່ງລາຍລະອຽດເພີ່ມເຕີມໄດ້ໃນເອກະສານ Application Programming Interface (API) ທີ່ XControlModel ແລະ UnoControlDialogModel.

XDialogView

ແມ່ນ

ວັດຖຸ
UNO

ວັດຖຸ UNO ທີ່ເປັນຕົວແທນຂອງວິວໄດອາລັອກ. ສາມາດເບິ່ງລາຍລະອຽດເພີ່ມເຕີມໄດ້ໃນເອກະສານ Application Programming Interface (API) ທີ່ XControl ແລະ UnoControlDialog.

Width

ບໍ່

Long

ກຳນົດຄວາມກວ້າງຂອງກ່ອງໄດອາລັອກ.


ຄຸນສົມບັດເຫດການ

ຄຸນສົມບັດເຫດການ On… ແມ່ນຂໍ້ຄວາມ URI ທີ່ອ້າງອີງເຖິງສະຄຣິບ (script) ທີ່ຖືກກະຕຸ້ນເມື່ອມີເຫດການເກີດຂຶ້ນ. ອ່ານລາຍລະອຽດເພີ່ມເຕີມໄດ້ທີ່ scripting framework URI specification.

ຊື່

ຄຳອະທິບາຍໃນ Basic IDE

OnFocusGained

ເມື່ອໄດ້ຮັບໂຟກັສ

OnFocusLost

ເມື່ອສູນເສຍໂຟກັສ

OnKeyPressed

ເມື່ອມີການກົດຄີ (Key)

OnKeyReleased

ເມື່ອມີການປ່ອຍຄີ (Key)

OnMouseDragged

ເມື່ອມີການເລື່ອນເມົາສ໌ໃນຂະນະທີ່ກົດຄີ

OnMouseEntered

ເມົາສ໌ຢູ່ທາງໃນ

OnMouseExited

ເມົາສ໌ຢູ່ທາງນອກ

OnMouseMoved

ເມົາສ໌ມີການເຄື່ອນໄຫວ

OnMousePressed

ມີການກົດປຸ່ມເມົາສ໌

OnMouseReleased

ມີການປ່ອຍປຸ່ມເມົາສ໌


ໄອຄອນ ເຄັດລັບ

ຄຳແນະນຳ: ຄຸນສົມບັດ On… ທັງໝົດສາມາດກຳນົດຜ່ານການຂຽນໂປຣແກຣມໄດ້.
ຕົວຢ່າງ How to display data in a tree control ໃນ LibreOffice Wiki ໄດ້ສາທິດເລື່ອງນີ້ໄວ້.


ໄອຄອນ ຄຳເຕືອນ

ການກຳນົດເຫດການຜ່ານ Basic IDE ແລະ ການກຳນົດເຫດການຜ່ານມາກໂຣ ບໍ່ສາມາດເຮັດຮ່ວມກັນໄດ້.


ລາຍຊື່ຂອງວິທີຕ່າງໆໃນບໍລິການ Dialog

Activate
Center
Controls
CloneControl
CreateButton
CreateCheckBox
CreateComboBox
CreateCurrencyField
CreateDateField
CreateFileControl
CreateFixedLine
CreateFixedText

CreateFormattedField
CreateGroupBox
CreateHyperlink
CreateImageControl
CreateListBox
CreateNumericField
CreatePatternField
CreateProgressBar
CreateRadioButton
CreateScrollBar
CreateTableControl
CreateTabPageContainer

CreateTextField
CreateTimeField
CreateTreeControl
EndExecute
Execute
GetTextsFromL10N
ImportControl
OrderTabs
Resize
SetPageManager
Terminate


ໄອຄອນ ເຄັດລັບ

ຕົວຄວບຄຸມ TabPageContainer ບໍ່ມີໃຫ້ໃຊ້ໃນ Dialog Editor.


ໄອຄອນ ບັນທຶກ

ການກຳນົດຂະໜາດຂອງໄດອາລັອກແມ່ນເຮັດໄດ້ໂດຍການໃຊ້ຫົວໜ່ວຍ Map AppFont. ໄດອາລັອກ ຫຼື ຕົວຄວບຄຸມກໍໃຊ້ຫົວໜ່ວຍ AppFont ເຊັ່ນກັນ, ໃນຂະນະທີ່ສ່ວນສະແດງຜົນ (view) ຂອງພວກມັນໃຊ້ພິກເຊວ (pixels).


Activate

ຕັ້ງໂຟກັສໃສ່ອິນສະແຕນຊ໌ Dialog ປັດຈຸບັນ. ສົ່ງຄືນຄ່າ True ຖ້າການຕັ້ງໂຟກັສສຳເລັດ.

ວິທີນີ້ຖືກເອີ້ນໃຊ້ຈາກເຫດການຂອງໄດອາລັອກ ຫຼື ຕົວຄວບຄຸມ, ຫຼື ເມື່ອໄດອາລັອກສະແດງໃນຮູບແບບ non-modal.

ໄວຍາກອນ:

svc.Activate(): bool

ຕົວຢ່າງ:


      Dim oDlg As Object
      Set oDlg = CreateScriptService(,, "myDialog")
      oDlg.Execute()
      ' ...
      oDlg.Activate()
   

ຕົວຢ່າງໃນ Python ແລະ LibreOffice Basic ທັງສອງຖືວ່າໄດອາລັອກຖືກເກັບໄວ້ໃນຫ້ອງສະໝຸດ Standard ຂອງເອກະສານປັດຈຸບັນ.


     dlg = CreateScriptService(,,'myDialog')
     dlg.Execute()
     # ...
     dlg.Activate()
   

Center

ຈັດໃຫ້ອິນສະແຕນຊ໌ໄດອາລັອກປັດຈຸບັນຢູ່ເຄິ່ງກາງຂອງໜ້າຕ່າງຫຼັກ (parent window). ຖ້າບໍ່ມີອາຄິວເມັ້ນ, ວິທີນີ້ຈະຈັດໄດອາລັອກໄວ້ເຄິ່ງກາງຂອງໜ້າຕ່າງປັດຈຸບັນ.

ສົ່ງຄືນຄ່າ True ເມື່ອສຳເລັດ.

ໄວຍາກອນ:

svc.Center(opt Parent: obj): bool

ພາຣາມິເຕີ:

Parent: ວັດຖຸເສີມ ເຊິ່ງອາດເປັນ…

ຕົວຢ່າງ:

ໃນ Basic

     Sub TriggerEvent(oEvent As Object)
         Dim oDialog1 As Object, oDialog2 As Object, lExec As Long
         Set oDialog1 = CreateScriptService("DialogEvent", oEvent) ' ໄດອາລັອກທີ່ເຮັດໃຫ້ເກີດເຫດການ
         Set oDialog2 = CreateScriptService("Dialog", ...) ' ເປີດໄດອາລັອກທີສອງ
         oDialog2.Center(oDialog1)
         lExec = oDialog2.Execute()
         Select Case lExec
             ...
     End Sub
  
ໃນ Python

     def triggerEvent(event: uno):
       dlg1 = CreateScriptService('DialogEvent.Dialog', event)  # ໄດອາລັອກທີ່ເຮັດໃຫ້ເກີດເຫດການ
       dlg2 = CreateScriptService('Dialog', ...)  # ເປີດໄດອາລັອກທີສອງ
       dlg2.Center(dlg1)
       rc = dlg2.Execute()
       if rc is False:
         # ...
   

CloneControl

ເຮັດສຳເນົາຕົວຄວບຄຸມທີ່ມີຢູ່ແລ້ວໃນໄດອາລັອກປັດຈຸບັນ. ຕົວຄວບຄຸມທີ່ຖືກເຮັດສຳເນົາຈະຍັງຄືເກົ່າ ແລະ ສາມາດຍ້າຍຕຳແໜ່ງໃໝ່ໄດ້.

ໄວຍາກອນ:

svc.CloneControl(SourceName: str, ControlName: str, Left: num, Top: num): svc

ພາຣາມິເຕີ:

SourceName: ຊື່ຂອງຕົວຄວບຄຸມທີ່ຈະເຮັດສຳເນົາ.

ControlName: ຊື່ຕົວຄວບຄຸມທີ່ຖືກຕ້ອງ (ແຍກຕົວອັກສອນນ້ອຍ-ໃຫຍ່). ມັນຕ້ອງຍັງບໍ່ມີຢູ່ໃນປັດຈຸບັນ.

Left, Top: ພິກັດຂອງຕົວຄວບຄຸມໃໝ່ທີ່ສະແດງອອກໃນຫົວໜ່ວຍ Map AppFont.

ປະເພດຄ່າທີ່ສົ່ງກັບ:

ອິນສະແຕນຊ໌ຂອງບໍລິການ SFDialogs.DialogControl ຫຼື Nothing.

ຕົວຢ່າງ:

ໃນ Basic

      Set myButton2 = oDlg.CloneControl("Button1", "Button2", 30, 30)
   
ໃນ Python

     dlg = dlg.CloneControl('Button1', 'Button2', 30, 30)
   

Controls

ສົ່ງຄືນຄ່າໃດໜຶ່ງດັ່ງນີ້:

ໄວຍາກອນ:

svc.Controls(): str[0..*]

svc.Controls(controlname: str): svc

ພາຣາມິເຕີ:

ControlName : ຊື່ຕົວຄວບຄຸມທີ່ຖືກຕ້ອງ (ແຍກຕົວອັກສອນນ້ອຍ-ໃຫຍ່). ຖ້າບໍ່ໄດ້ລະບຸ, ມັນຈະສົ່ງຄືນລາຍຊື່ຕົວຄວບຄຸມເປັນອາເຣທີ່ເລີ່ມຈາກສູນ.

ຕົວຢ່າງ:


      Dim myDialog As Object, myList As Variant, myControl As Object
      Set myDialog = CreateScriptService("SFDialogs.Dialog", , "Standard", "Dialog1")
      myList = myDialog.Controls()
      Set myControl = myDialog.Controls("myTextBox")
   

     dlg = CreateScriptService('SFDialogs.Dialog','', 'Standard', 'Dialog1')
     ctrls = dlg.Controls()
     ctrl = dlg.Controls('myTextBox')
   

CreateButton

ສ້າງຕົວຄວບຄຸມໃໝ່ປະເພດ Button ໃນໄດອາລັອກປັດຈຸບັນ.

ໄວຍາກອນ:

svc.CreateButton(ControlName: str, Place: any, Toggle: bool = False, Push: str = ""): svc

ພາຣາມິເຕີ:

ControlName: ຊື່ຂອງຕົວຄວບຄຸມໃໝ່. ມັນຕ້ອງຍັງບໍ່ມີຢູ່ໃນປັດຈຸບັນ.

Place: ອາດເປັນ…

ອົງປະກອບທັງໝົດສະແດງອອກໃນຫົວໜ່ວຍ Map AppFont.

Toggle: ເມື່ອເປັນ True, ປຸ່ມແບບ Toggle ຈະຖືກສ້າງຂຶ້ນ. ຄ່າເລີ່ມຕົ້ນ = False

Push: "OK", "CANCEL" ຫຼື "" (ຄ່າເລີ່ມຕົ້ນ)

ປະເພດຄ່າທີ່ສົ່ງກັບ:

ອິນສະແຕນຊ໌ຂອງບໍລິການ SFDialogs.DialogControl ຫຼື Nothing.

ຕົວຢ່າງ:

ໃນ Basic

     Set myButton = oDlg.CreateButton("Button1", Array(20, 20, 60, 15))
   
ໃນ Python

     myButton = dlg.CreateButton('Button1', (20, 20, 60, 15))
   

CreateCheckBox

ສ້າງຕົວຄວບຄຸມໃໝ່ປະເພດ CheckBox ໃນໄດອາລັອກປັດຈຸບັນ.

ໄວຍາກອນ:

svc.CreateCheckBox(ControlName: str, Place: any, Multiline: bool = False): svc

ພາຣາມິເຕີ:

ControlName: ຊື່ຂອງຕົວຄວບຄຸມໃໝ່. ມັນຕ້ອງຍັງບໍ່ມີຢູ່ໃນປັດຈຸບັນ.

Place: ອາດເປັນ…

ອົງປະກອບທັງໝົດສະແດງອອກໃນຫົວໜ່ວຍ Map AppFont.

MultiLine: ເມື່ອເປັນ True (ຄ່າເລີ່ມຕົ້ນ = False), ຄຳອະທິບາຍ (caption) ອາດສະແດງໄດ້ຫຼາຍກວ່າໜຶ່ງບັນທັດ.

ປະເພດຄ່າທີ່ສົ່ງກັບ:

ອິນສະແຕນຊ໌ຂອງບໍລິການ SFDialogs.DialogControl ຫຼື Nothing.

ຕົວຢ່າງ:

ໃນ Basic

     Set myCheckBox = oDlg.CreateCheckBox("CheckBox1", Array(20, 20, 60, 15), MultiLine := True)
   
ໃນ Python

     myCheckBox = dlg.CreateCheckBox('CheckBox1', (20, 20, 60, 15), MultiLine = True)
   

CreateComboBox

ສ້າງຕົວຄວບຄຸມໃໝ່ປະເພດ ComboBox ໃນໄດອາລັອກປັດຈຸບັນ.

ໄວຍາກອນ:

svc.CreateComboBox(ControlName: str, Place: any, Border: str = "3D", DropDown: bool = True, LineCount: num = 5): svc

ພາຣາມິເຕີ:

ControlName: ຊື່ຂອງຕົວຄວບຄຸມໃໝ່. ມັນຕ້ອງຍັງບໍ່ມີຢູ່ໃນປັດຈຸບັນ.

Place: ອາດເປັນ…

ອົງປະກອບທັງໝົດສະແດງອອກໃນຫົວໜ່ວຍ Map AppFont.

Border: "3D" (ຄ່າເລີ່ມຕົ້ນ), "FLAT" ຫຼື "NONE"

DropDown: ເມື່ອເປັນ True (ຄ່າເລີ່ມຕົ້ນ), ປຸ່ມແບບ drop down ຈະຖືກສະແດງ

LineCount: ກຳນົດຈຳນວນບັນທັດສູງສຸດທີ່ຈະສະແດງໃນ drop down (ຄ່າເລີ່ມຕົ້ນ = 5)

ປະເພດຄ່າທີ່ສົ່ງກັບ:

ອິນສະແຕນຊ໌ຂອງບໍລິການ SFDialogs.DialogControl ຫຼື Nothing.

ຕົວຢ່າງ:

ໃນ Basic

     Set myComboBox = oDlg.CreateComboBox("ComboBox1", Array(20, 20, 60, 15), Dropdown := True)
   
ໃນ Python

     myComboBox = dlg.CreateComboBox('ComboBox1', (20, 20, 60, 15), Dropdown = True)
   

CreateCurrencyField

ສ້າງຕົວຄວບຄຸມໃໝ່ປະເພດ CurrencyField ໃນໄດອາລັອກປັດຈຸບັນ.

ໄວຍາກອນ:

svc.CreateCurrencyField(ControlName: str, Place: any, Border ="3D", SpinButton: bool = False, MinValue: num = -1000000, MaxValue: num = +1000000, Increment: num = 1, Accuracy: num = 2): svc

ພາຣາມິເຕີ:

ControlName: ຊື່ຂອງຕົວຄວບຄຸມໃໝ່. ມັນຕ້ອງຍັງບໍ່ມີຢູ່ໃນປັດຈຸບັນ.

Place: ອາດເປັນ…

ອົງປະກອບທັງໝົດສະແດງອອກໃນຫົວໜ່ວຍ Map AppFont.

Border: "3D" (ຄ່າເລີ່ມຕົ້ນ), "FLAT" ຫຼື "NONE"

SpinButton: ເມື່ອເປັນ True (ຄ່າເລີ່ມຕົ້ນ = False), ປຸ່ມແບບປັບຄ່າ (spin button) ຈະປະກົດຂຶ້ນ

MinValue: ຄ່າທີ່ນ້ອຍທີ່ສຸດທີ່ສາມາດປ້ອນເຂົ້າໃນຕົວຄວບຄຸມໄດ້. ຄ່າເລີ່ມຕົ້ນ = -1000000

MaxValue: ຄ່າທີ່ໃຫຍ່ທີ່ສຸດທີ່ສາມາດປ້ອນເຂົ້າໃນຕົວຄວບຄຸມໄດ້. ຄ່າເລີ່ມຕົ້ນ = +1000000

Increment: ຄ່າທີ່ເພີ່ມຂຶ້ນແຕ່ລະຂັ້ນເມື່ອກົດປຸ່ມປັບຄ່າ. ຄ່າເລີ່ມຕົ້ນ = 1

Accuracy: ກຳນົດຈຳນວນຈຸດທົດສະນິຍົມ. ຄ່າເລີ່ມຕົ້ນ = 2 ຕຳແໜ່ງ

ປະເພດຄ່າທີ່ສົ່ງກັບ:

ອິນສະແຕນຊ໌ຂອງບໍລິການ SFDialogs.DialogControl ຫຼື Nothing.

ຕົວຢ່າງ:

ໃນ Basic

     Set myCurrencyField = oDlg.CreateCurrencyField("CurrencyField1", Array(20, 20, 60, 15), SpinButton := True)
   
ໃນ Python

     myCurrencyField = dlg.CreateCurrencyField('CurrencyField1', (20, 20, 60, 15), SpinButton = True)
   

CreateDateField

ສ້າງຕົວຄວບຄຸມໃໝ່ປະເພດ DateField ໃນໄດອາລັອກປັດຈຸບັນ.

ໄວຍາກອນ:

svc.CreateDateField(ControlName: str, Place: any, Border: str = "3D", DropDown: bool = False, opt MinDate: datetime, opt MaxDate: datetime): svc

ພາຣາມິເຕີ:

ControlName: ຊື່ຂອງຕົວຄວບຄຸມໃໝ່. ມັນຕ້ອງຍັງບໍ່ມີຢູ່ໃນປັດຈຸບັນ.

Place: ອາດເປັນ…

ອົງປະກອບທັງໝົດສະແດງອອກໃນຫົວໜ່ວຍ Map AppFont.

Border: "3D" (ຄ່າເລີ່ມຕົ້ນ), "FLAT" ຫຼື "NONE"

DropDown: ເມື່ອເປັນ True (ຄ່າເລີ່ມຕົ້ນ = False), ປຸ່ມແບບ dropdown ຈະຖືກສະແດງ

MinDate: ວັນທີທີ່ນ້ອຍທີ່ສຸດທີ່ສາມາດປ້ອນເຂົ້າໃນຕົວຄວບຄຸມໄດ້. ຄ່າເລີ່ມຕົ້ນ = 1900-01-01

MaxDate: ວັນທີທີ່ໃຫຍ່ທີ່ສຸດທີ່ສາມາດປ້ອນເຂົ້າໃນຕົວຄວບຄຸມໄດ້. ຄ່າເລີ່ມຕົ້ນ = 2200-12-31

ປະເພດຄ່າທີ່ສົ່ງກັບ:

ອິນສະແຕນຊ໌ຂອງບໍລິການ SFDialogs.DialogControl ຫຼື Nothing.

ຕົວຢ່າງ:

ໃນ Basic

     Set myDateField = oDlg.CreateDateField("DateField1", Array(20, 20, 60, 15), Dropdown := True)
   
ໃນ Python

     myDateField = dlg.CreateDateField('DateField1', (20, 20, 60, 15), Dropdown = True)
   

CreateFileControl

ສ້າງຕົວຄວບຄຸມໃໝ່ປະເພດ FileControl ໃນໄດອາລັອກປັດຈຸບັນ.

ໄວຍາກອນ:

svc.CreateFileControl(ControlName: str, Place: any, Border: str = "3D"): svc

ພາຣາມິເຕີ:

ControlName: ຊື່ຂອງຕົວຄວບຄຸມໃໝ່. ມັນຕ້ອງຍັງບໍ່ມີຢູ່ໃນປັດຈຸບັນ.

Place: ອາດເປັນ…

ອົງປະກອບທັງໝົດສະແດງອອກໃນຫົວໜ່ວຍ Map AppFont.

Border: "3D" (ຄ່າເລີ່ມຕົ້ນ), "FLAT" ຫຼື "NONE"

ປະເພດຄ່າທີ່ສົ່ງກັບ:

ອິນສະແຕນຊ໌ຂອງບໍລິການ SFDialogs.DialogControl ຫຼື Nothing.

ຕົວຢ່າງ:

ໃນ Basic

     Set myFileControl = oDlg.CreateFileControl("FileControl1", Array(20, 20, 60, 15))
   
ໃນ Python

     myFileControl = dlg.CreateFileControl('FileControl1', (20, 20, 60, 15))
   

CreateFixedLine

ສ້າງຕົວຄວບຄຸມໃໝ່ປະເພດ FixedLine ໃນໄດອາລັອກປັດຈຸບັນ.

ໄວຍາກອນ:

svc.CreateFixedLine(ControlName: str, Place: any, Orientation: str): svc

ພາຣາມິເຕີ:

ControlName: ຊື່ຂອງຕົວຄວບຄຸມໃໝ່. ມັນຕ້ອງຍັງບໍ່ມີຢູ່ໃນປັດຈຸບັນ.

Place: ອາດເປັນ…

ອົງປະກອບທັງໝົດສະແດງອອກໃນຫົວໜ່ວຍ Map AppFont.

Orientation: ສຳລັບແນວນອນໃຫ້ໃຊ້ "H" ຫຼື "Horizontal"; ສຳລັບແນວຕັ້ງໃຫ້ໃຊ້ "V" ຫຼື "Vertical".

ປະເພດຄ່າທີ່ສົ່ງກັບ:

ອິນສະແຕນຊ໌ຂອງບໍລິການ SFDialogs.DialogControl ຫຼື Nothing.

ຕົວຢ່າງ:

ໃນ Basic

     Set myFixedLine = oDlg.CreateFixedLine("FixedLine1", Array(20, 20, 60, 15), Orientation := "vertical")
   
ໃນ Python

     myFixedLine = dlg.CreateFixedLine('FixedLine1', (20, 20, 60, 15), Orientation = 'vertical')
   

CreateFixedText

ສ້າງຕົວຄວບຄຸມໃໝ່ປະເພດ FixedText ໃນໄດອາລັອກປັດຈຸບັນ.

ໄວຍາກອນ:

svc.CreateFixedText(ControlName: str, Place: any, Border: str = "3D", MultiLine: bool = False, Align: str = "LEFT", VerticalAlign: str = "TOP"): svc

ພາຣາມິເຕີ:

ControlName: ຊື່ຂອງຕົວຄວບຄຸມໃໝ່. ມັນຕ້ອງຍັງບໍ່ມີຢູ່ໃນປັດຈຸບັນ.

Place: ອາດເປັນ…

ອົງປະກອບທັງໝົດສະແດງອອກໃນຫົວໜ່ວຍ Map AppFont.

Border: "NONE" (ຄ່າເລີ່ມຕົ້ນ), "FLAT" ຫຼື "3D"

Multiline: ເມື່ອເປັນ True (ຄ່າເລີ່ມຕົ້ນ = False), ຄຳອະທິບາຍອາດສະແດງໄດ້ຫຼາຍກວ່າໜຶ່ງບັນທັດ

Align: ການຈັດວາງແນວນອນ, "LEFT" (ຄ່າເລີ່ມຕົ້ນ), "CENTER" ຫຼື "RIGHT"

VerticalAlign: ການຈັດວາງແນວຕັ້ງ, "TOP" (ຄ່າເລີ່ມຕົ້ນ), "MIDDLE" ຫຼື "BOTTOM"

ປະເພດຄ່າທີ່ສົ່ງກັບ:

ອິນສະແຕນຊ໌ຂອງບໍລິການ SFDialogs.DialogControl ຫຼື Nothing.

ຕົວຢ່າງ:

ໃນ Basic

     Set myFixedText = oDlg.CreateFixedText("FixedText1", Array(20, 20, 60, 15), MultiLine := True)
   
ໃນ Python

     myFixedText = dlg.CreateFixedText('FixedText1', (20, 20, 60, 15), MultiLine = True)
   

CreateFormattedField

ສ້າງຕົວຄວບຄຸມໃໝ່ປະເພດ FormattedField ໃນໄດອາລັອກປັດຈຸບັນ.

ໄວຍາກອນ:

svc.CreateFormattedField(ControlName: str, Place: any, Border: str = "3D", SpinButton: bool = False, MinValue: num = -1000000, MaxValue: num = +1000000): svc

ພາຣາມິເຕີ:

ControlName: ຊື່ຂອງຕົວຄວບຄຸມໃໝ່. ມັນຕ້ອງຍັງບໍ່ມີຢູ່ໃນປັດຈຸບັນ.

Place: ອາດເປັນ…

ອົງປະກອບທັງໝົດສະແດງອອກໃນຫົວໜ່ວຍ Map AppFont.

Border: "3D" (ຄ່າເລີ່ມຕົ້ນ), "FLAT" ຫຼື "NONE"

SpinButton: ເມື່ອເປັນ True (ຄ່າເລີ່ມຕົ້ນ = False), ປຸ່ມແບບປັບຄ່າຈະປະກົດຂຶ້ນ

MinValue: ຄ່າທີ່ນ້ອຍທີ່ສຸດທີ່ສາມາດປ້ອນເຂົ້າໃນຕົວຄວບຄຸມໄດ້. ຄ່າເລີ່ມຕົ້ນ = -1000000

MaxValue: ຄ່າທີ່ໃຫຍ່ທີ່ສຸດທີ່ສາມາດປ້ອນເຂົ້າໃນຕົວຄວບຄຸມໄດ້. ຄ່າເລີ່ມຕົ້ນ = +1000000

ປະເພດຄ່າທີ່ສົ່ງກັບ:

ອິນສະແຕນຊ໌ຂອງບໍລິການ SFDialogs.DialogControl ຫຼື Nothing.

ຕົວຢ່າງ:

ໃນ Basic

     Set myFormattedField = oDlg.CreateFormattedField("FormattedField1", Array(20, 20, 60, 15), SpinButton := True)
   
ໃນ Python

     myFormattedField = dlg.CreateFormattedField('FormattedField1', (20, 20, 60, 15), SpinButton = True)
   

CreateGroupBox

ສ້າງຕົວຄວບຄຸມໃໝ່ປະເພດ GroupBox ໃນໄດອາລັອກປັດຈຸບັນ.

ໄວຍາກອນ:

svc.CreateGroupBox(ControlName: str, Place: any): svc

ພາຣາມິເຕີ:

ControlName: ຊື່ຂອງຕົວຄວບຄຸມໃໝ່. ມັນຕ້ອງຍັງບໍ່ມີຢູ່ໃນປັດຈຸບັນ.

Place: ອາດເປັນ…

ອົງປະກອບທັງໝົດສະແດງອອກໃນຫົວໜ່ວຍ Map AppFont.

ປະເພດຄ່າທີ່ສົ່ງກັບ:

ອິນສະແຕນຊ໌ຂອງບໍລິການ SFDialogs.DialogControl ຫຼື Nothing.

ຕົວຢ່າງ:

ໃນ Basic

     Set myGroupBox = oDlg.CreateGroupBox("GroupBox1", Array(20, 20, 60, 15))
   
ໃນ Python

     myGroupBox = dlg.CreateGroupBox('GroupBox1', (20, 20, 60, 15))
   

CreateHyperlink

ສ້າງຕົວຄວບຄຸມໃໝ່ປະເພດ Hyperlink ໃນໄດອາລັອກປັດຈຸບັນ.

ໄວຍາກອນ:

ພາຣາມິເຕີ:

ControlName: ຊື່ຂອງຕົວຄວບຄຸມໃໝ່. ມັນຕ້ອງຍັງບໍ່ມີຢູ່ໃນປັດຈຸບັນ.

Place: ອາດເປັນ…

ອົງປະກອບທັງໝົດສະແດງອອກໃນຫົວໜ່ວຍ Map AppFont.

Border: "NONE" (ຄ່າເລີ່ມຕົ້ນ), "FLAT" ຫຼື "3D"

MultiLine: ເມື່ອເປັນ True (ຄ່າເລີ່ມຕົ້ນ = False), ຄຳອະທິບາຍອາດສະແດງໄດ້ຫຼາຍກວ່າໜຶ່ງບັນທັດ

Align: ການຈັດວາງແນວນອນ, "LEFT" (ຄ່າເລີ່ມຕົ້ນ), "CENTER" ຫຼື "RIGHT"

VerticalAlign: ການຈັດວາງແນວຕັ້ງ, "TOP" (ຄ່າເລີ່ມຕົ້ນ), "MIDDLE" ຫຼື "BOTTOM"

ປະເພດຄ່າທີ່ສົ່ງກັບ:

ອິນສະແຕນຊ໌ຂອງບໍລິການ SFDialogs.DialogControl ຫຼື Nothing.

ຕົວຢ່າງ:

ໃນ Basic

     Set myHyperlink = oDlg.CreateHyperlink("Hyperlink1", Array(20, 20, 60, 15), MultiLine := True)
   
ໃນ Python

     myHyperlink = dlg.CreateHyperlink('Hyperlink1', (20, 20, 60, 15), MultiLine = True)
   

CreateImageControl

ສ້າງຕົວຄວບຄຸມໃໝ່ປະເພດ ImageControl ໃນໄດອາລັອກປັດຈຸບັນ.

ໄວຍາກອນ:

svc.CreateImageControl(ControlName: str, Place: any, Border: str = "3D", Scale: str = "FITTOSIZE"): svc

ພາຣາມິເຕີ:

ControlName: ຊື່ຂອງຕົວຄວບຄຸມໃໝ່. ມັນຕ້ອງຍັງບໍ່ມີຢູ່ໃນປັດຈຸບັນ.

Place: ອາດເປັນ…

ອົງປະກອບທັງໝົດສະແດງອອກໃນຫົວໜ່ວຍ Map AppFont.

Border: "3D" (ຄ່າເລີ່ມຕົ້ນ), "FLAT" ຫຼື "NONE"

Scale: ໜຶ່ງໃນຄ່າດັ່ງນີ້: "FITTOSIZE" (ຄ່າເລີ່ມຕົ້ນ), "KEEPRATIO" ຫຼື "NO"

ປະເພດຄ່າທີ່ສົ່ງກັບ:

ອິນສະແຕນຊ໌ຂອງບໍລິການ SFDialogs.DialogControl ຫຼື Nothing.

ຕົວຢ່າງ:

ໃນ Basic

     Set myImageControl = oDlg.CreateImageControl("ImageControl1", Array(20, 20, 60, 15))
   
ໃນ Python

       myImageControl = dlg.CreateImageControl('ImageControl1", (20, 20, 60, 15))
   

CreateListBox

ສ້າງຕົວຄວບຄຸມໃໝ່ປະເພດ ListBox ໃນໄດອາລັອກປັດຈຸບັນ.

ໄວຍາກອນ:

svc.CreateListBox(ControlName: str, Place: any, Border: str = "3D", DropDown: bool = True, LineCount: num = 5, MultiSelect: bool = False): svc

ພາຣາມິເຕີ:

ControlName: ຊື່ຂອງຕົວຄວບຄຸມໃໝ່. ມັນຕ້ອງຍັງບໍ່ມີຢູ່ໃນປັດຈຸບັນ.

Place: ອາດເປັນ…

ອົງປະກອບທັງໝົດສະແດງອອກໃນຫົວໜ່ວຍ Map AppFont.

Border: "3D" (ຄ່າເລີ່ມຕົ້ນ), "FLAT" ຫຼື "NONE"

DropDown: ເມື່ອເປັນ True (ຄ່າເລີ່ມຕົ້ນ), ປຸ່ມແບບ drop down ຈະຖືກສະແດງ

LineCount: ກຳນົດຈຳນວນບັນທັດສູງສຸດທີ່ຈະສະແດງໃນ drop down (ຄ່າເລີ່ມຕົ້ນ = 5)

MultiSelect: ເມື່ອເປັນ True, ສາມາດເລືອກໄດ້ຫຼາຍກວ່າ 1 ລາຍການ. ຄ່າເລີ່ມຕົ້ນ = False

ປະເພດຄ່າທີ່ສົ່ງກັບ:

ອິນສະແຕນຊ໌ຂອງບໍລິການ SFDialogs.DialogControl ຫຼື Nothing.

ຕົວຢ່າງ:

ໃນ Basic

     Set myListBox = oDlg.CreateListBox("ListBox1", Array(20, 20, 60, 15), Dropdown := True, MultiSelect := True)
   
ໃນ Python

     myListBox = dlg.CreateListBox('ListBox1', (20, 20, 60, 15), Dropdown = True, MultiSelect = True)
   

CreateNumericField

ສ້າງຕົວຄວບຄຸມໃໝ່ປະເພດ NumericField ໃນໄດອາລັອກປັດຈຸບັນ.

ໄວຍາກອນ:

svc.CreateNumericField(ControlName: str, Place: any, Border: str = "3D", SpinButton: bool = False, MinValue: num = -1000000, MaxValue: num = 1000000, Increment: num = 1, Accuracy: num = 2): svc

ພາຣາມິເຕີ:

ControlName: ຊື່ຂອງຕົວຄວບຄຸມໃໝ່. ມັນຕ້ອງຍັງບໍ່ມີຢູ່ໃນປັດຈຸບັນ.

Place: ອາດເປັນ…

ອົງປະກອບທັງໝົດສະແດງອອກໃນຫົວໜ່ວຍ Map AppFont.

Border: "3D" (ຄ່າເລີ່ມຕົ້ນ), "FLAT" ຫຼື "NONE"

SpinButton: ເມື່ອເປັນ True (ຄ່າເລີ່ມຕົ້ນ = False), ປຸ່ມແບບປັບຄ່າຈະປະກົດຂຶ້ນ

MinValue: ຄ່າທີ່ນ້ອຍທີ່ສຸດທີ່ສາມາດປ້ອນເຂົ້າໃນຕົວຄວບຄຸມໄດ້. ຄ່າເລີ່ມຕົ້ນ = -1000000

MaxValue: ຄ່າທີ່ໃຫຍ່ທີ່ສຸດທີ່ສາມາດປ້ອນເຂົ້າໃນຕົວຄວບຄຸມໄດ້. ຄ່າເລີ່ມຕົ້ນ = +1000000

Increment: ຄ່າທີ່ເພີ່ມຂຶ້ນແຕ່ລະຂັ້ນເມື່ອກົດປຸ່ມປັບຄ່າ. ຄ່າເລີ່ມຕົ້ນ = 1

Accuracy: ກຳນົດຈຳນວນຈຸດທົດສະນິຍົມ. ຄ່າເລີ່ມຕົ້ນ = 2 ຕຳແໜ່ງ

ປະເພດຄ່າທີ່ສົ່ງກັບ:

ອິນສະແຕນຊ໌ຂອງບໍລິການ SFDialogs.DialogControl ຫຼື Nothing.

ຕົວຢ່າງ:

ໃນ Basic

     Set myNumericField = oDlg.CreateNumericField("NumericField1", Array(20, 20, 60, 15), SpinButton := True)
   
ໃນ Python

     myNumericField = dlg.CreateNumericField('NumericField1', (20, 20, 60, 15), SpinButton = True)
   

CreatePatternField

ສ້າງຕົວຄວບຄຸມໃໝ່ປະເພດ PatternField ໃນໄດອາລັອກປັດຈຸບັນ.

ໄວຍາກອນ:

svc.CreatePatternField(ControlName: str, Place: any, Border: str = "3D", EditMask: str, opt LiteralMax: str): svc

ພາຣາມິເຕີ:

ControlName: ຊື່ຂອງຕົວຄວບຄຸມໃໝ່. ມັນຕ້ອງຍັງບໍ່ມີຢູ່ໃນປັດຈຸບັນ.

Place: ອາດເປັນ…

ອົງປະກອບທັງໝົດສະແດງອອກໃນຫົວໜ່ວຍ Map AppFont.

Border: "3D" (ຄ່າເລີ່ມຕົ້ນ), "FLAT" ຫຼື "NONE"

EditMask: ລະຫັດຕົວອັກສອນທີ່ກຳນົດວ່າຜູ້ໃຊ້ສາມາດປ້ອນຫຍັງໄດ້ແດ່
ເບິ່ງຂໍ້ມູນເພີ່ມເຕີມໃນ wiki ທີ່ Pattern_Field.

LiteralMask: ບັນຈຸຄ່າເລີ່ມຕົ້ນທີ່ຈະສະແດງໃນ pattern field

ປະເພດຄ່າທີ່ສົ່ງກັບ:

ອິນສະແຕນຊ໌ຂອງບໍລິການ SFDialogs.DialogControl ຫຼື Nothing.

ຕົວຢ່າງ:

ໃນ Basic

     Set myPatternField = oDlg.CreatePatternField("PatternField1", Array(20, 20, 60, 15), EditMask := "NNLNNLLLLL", LiteralMask := "__.__.2002")
   
ໃນ Python

     myPatternField = dlg.CreatePatternField('PatternField1', (20, 20, 60, 15), EditMask = 'NNLNNLLLLL', LiteralMask = '__.__.2002')
   

CreateProgressBar

ສ້າງຕົວຄວບຄຸມໃໝ່ປະເພດ ProgressBar ໃນໄດອາລັອກປັດຈຸບັນ.

ໄວຍາກອນ:

svc.CreateProgressBar(ControlName: str, opt Place: any, Border: str = "3D", MinValue: num = 0, MaxValue: num = 100): svc

ພາຣາມິເຕີ:

ControlName: ຊື່ຂອງຕົວຄວບຄຸມໃໝ່. ມັນຕ້ອງຍັງບໍ່ມີຢູ່ໃນປັດຈຸບັນ.

Place: ອາດເປັນ…

ອົງປະກອບທັງໝົດສະແດງອອກໃນຫົວໜ່ວຍ Map AppFont.

Border: "3D" (ຄ່າເລີ່ມຕົ້ນ), "FLAT" ຫຼື "NONE"

MinValue: ຄ່າທີ່ນ້ອຍທີ່ສຸດທີ່ສາມາດປ້ອນເຂົ້າໃນຕົວຄວບຄຸມໄດ້. ຄ່າເລີ່ມຕົ້ນ = 0

MaxValue: ຄ່າທີ່ໃຫຍ່ທີ່ສຸດທີ່ສາມາດປ້ອນເຂົ້າໃນຕົວຄວບຄຸມໄດ້. ຄ່າເລີ່ມຕົ້ນ = 100

ປະເພດຄ່າທີ່ສົ່ງກັບ:

ອິນສະແຕນຊ໌ຂອງບໍລິການ SFDialogs.DialogControl ຫຼື Nothing.

ຕົວຢ່າງ:

ໃນ Basic

     Set myProgressBar = oDlg.CreateProgressBar("ProgressBar1", Array(20, 20, 60, 15), MaxValue := 1000)
   
ໃນ Python

     myProgressBar = dlg.CreateProgressBar('ProgressBar1', (20, 20, 60, 15), MaxValue = 1000)
   

CreateRadioButton

ສ້າງຕົວຄວບຄຸມໃໝ່ປະເພດ RadioButton ໃນໄດອາລັອກປັດຈຸບັນ.

ໄວຍາກອນ:

svc.CreateRadioButton(ControlName: str, Place: any, MultiLine: bool = False): svc

ພາຣາມິເຕີ:

ControlName: ຊື່ຂອງຕົວຄວບຄຸມໃໝ່. ມັນຕ້ອງຍັງບໍ່ມີຢູ່ໃນປັດຈຸບັນ.

Place: ອາດເປັນ…

ອົງປະກອບທັງໝົດສະແດງອອກໃນຫົວໜ່ວຍ Map AppFont.

MultiLine: ເມື່ອເປັນ True (ຄ່າເລີ່ມຕົ້ນ = False), ຄຳອະທິບາຍອາດສະແດງໄດ້ຫຼາຍກວ່າໜຶ່ງບັນທັດ

ປະເພດຄ່າທີ່ສົ່ງກັບ:

ອິນສະແຕນຊ໌ຂອງບໍລິການ SFDialogs.DialogControl ຫຼື Nothing.

ຕົວຢ່າງ:

ໃນ Basic

     Set myRadioButton = oDlg.CreateRadioButton("RadioButton1", Array(20, 20, 60, 15), MultiLine := True)
   
ໃນ Python

     myRadioButton = dlg.CreateRadioButton('RadioButton1', (20, 20, 60, 15), MultiLine = True)
   

CreateScrollBar

ສ້າງຕົວຄວບຄຸມໃໝ່ປະເພດ ScrollBar ໃນໄດອາລັອກປັດຈຸບັນ.

ໄວຍາກອນ:

svc.CreateScrollBar(ControlName: str, Place, Orientation: str, Border: str = "3D", MinValue: num = 0, MaxValue: num = 100): svc

ພາຣາມິເຕີ:

ControlName: ຊື່ຂອງຕົວຄວບຄຸມໃໝ່. ມັນຕ້ອງຍັງບໍ່ມີຢູ່ໃນປັດຈຸບັນ.

Place: ອາດເປັນ…

ອົງປະກອບທັງໝົດສະແດງອອກໃນຫົວໜ່ວຍ Map AppFont.

Orientation: ສຳລັບແນວນອນໃຫ້ໃຊ້ "H" ຫຼື "Horizontal"; ສຳລັບແນວຕັ້ງໃຫ້ໃຊ້ "V" ຫຼື "Vertical".

Border: "3D" (ຄ່າເລີ່ມຕົ້ນ), "FLAT" ຫຼື "NONE"

MinValue: ຄ່າທີ່ນ້ອຍທີ່ສຸດທີ່ສາມາດປ້ອນເຂົ້າໃນຕົວຄວບຄຸມໄດ້. ຄ່າເລີ່ມຕົ້ນ = 0

MaxValue: ຄ່າທີ່ໃຫຍ່ທີ່ສຸດທີ່ສາມາດປ້ອນເຂົ້າໃນຕົວຄວບຄຸມໄດ້. ຄ່າເລີ່ມຕົ້ນ = 100

ປະເພດຄ່າທີ່ສົ່ງກັບ:

ອິນສະແຕນຊ໌ຂອງບໍລິການ SFDialogs.DialogControl ຫຼື Nothing.

ຕົວຢ່າງ:

ໃນ Basic

     Set myScrollBar = oDlg.CreateScrollBar("ScrollBar1", Array(20, 20, 60, 15), MaxValue := 1000)
   
ໃນ Python

     myScrollBar = dialog.CreateScrollBar('ScrollBar1', (20, 20, 60, 15), MaxValue = 1000)
   

CreateTableControl

ສ້າງຕົວຄວບຄຸມໃໝ່ປະເພດ TableControl ໃນໄດອາລັອກປັດຈຸບັນ.

ໄວຍາກອນ:

svc.CreateTableControl(ControlName: str, Place: any, Border: str = "3D", RowHeaders: bool = True, ColumnHeaders: bool = True, ScrollBars: str = "N", GridLines: bool = False): svc

ພາຣາມິເຕີ:

ControlName: ຊື່ຂອງຕົວຄວບຄຸມໃໝ່. ມັນຕ້ອງຍັງບໍ່ມີຢູ່ໃນປັດຈຸບັນ.

Place: ອາດເປັນ…

ອົງປະກອບທັງໝົດສະແດງອອກໃນຫົວໜ່ວຍ Map AppFont.

Border: "3D" (ຄ່າເລີ່ມຕົ້ນ), "FLAT" ຫຼື "NONE"

RowHeaders: ເມື່ອເປັນ True (ຄ່າເລີ່ມຕົ້ນ), ຫົວແຖວຈະຖືກສະແດງ

ColumnHeaders: ເມື່ອເປັນ True (ຄ່າເລີ່ມຕົ້ນ), ຫົວຄໍລຳຈະຖືກສະແດງ

ScrollBars: ຄ່າທີ່ເປັນໄປໄດ້ແມ່ນ: "H" ຫຼື "Horizontal" (ແຖບເລື່ອນແນວນອນ), "V" ຫຼື "Vertical" (ແຖບເລື່ອນແນວຕັ້ງ); "B" ຫຼື "Both" (ທັງສອງແຖບເລື່ອນ); "N" ຫຼື "None" (ຄ່າເລີ່ມຕົ້ນ) ສຳລັບບໍ່ມີແຖບເລື່ອນ. ແຖບເລື່ອນຈະປະກົດຂຶ້ນແບບໄດນາມິກເມື່ອຈຳເປັນ.

GridLines: ເມື່ອເປັນ True (ຄ່າເລີ່ມຕົ້ນ = False), ເສັ້ນແນວນອນ ແລະ ແນວຕັ້ງຈະຖືກຂີດຂັ້ນລະຫວ່າງເຊລຂອງກຣິດ (grid cells)

ປະເພດຄ່າທີ່ສົ່ງກັບ:

ອິນສະແຕນຊ໌ຂອງບໍລິການ SFDialogs.DialogControl ຫຼື Nothing.

ຕົວຢ່າງ:

ໃນ Basic

     Set myTableControl = oDlg.CreateTableControl("TableControl1", Array(20, 20, 60, 15), ScrollBars := "B")
   
ໃນ Python

     myTableControl = dlg.CreateTableControl('TableControl1', (20, 20, 60, 15), ScrollBars = 'B')
   

CreateTabPageContainer

ສ້າງຕົວຄວບຄຸມໃໝ່ປະເພດ TabPageContainer ໃນໄດອາລັອກປັດຈຸບັນ. ແທັບ (Tabs) ຈະຖືກແຍກອອກເປັນຫຼາຍບັນທັດພາຍໃນໄດອາລັອກເມື່ອຈຳເປັນ. ບໍ່ຮອງຮັບ TabPageContainer ຫຼາຍອັນ.

ໄອຄອນ ຄຳເຕືອນ

ການສ້າງຕົວຄວບຄຸມ TagePageContainer ຈະມາເປັນອັນສຸດທ້າຍສະເໝີໃນການສ້າງໄດອາລັອກ.


ໄວຍາກອນ:

svc.CreateTabPageContainer(ControlName: str, Place: any, TabHeaders: str[1..*], Border: str = "3D"): svc

ພາຣາມິເຕີ:

ControlName: ຊື່ຂອງຕົວຄວບຄຸມໃໝ່. ມັນຕ້ອງຍັງບໍ່ມີຢູ່ໃນປັດຈຸບັນ.

Place: ອາດເປັນ…

ອົງປະກອບທັງໝົດສະແດງອອກໃນຫົວໜ່ວຍ Map AppFont.

TabHeaders: ອາເຣຂອງ String ທີ່ກຳນົດປ້າຍຊື່ (label) ຂອງແຕ່ລະແທັບ

Border: "3D" (ຄ່າເລີ່ມຕົ້ນ), "FLAT" ຫຼື "NONE"

ປະເພດຄ່າທີ່ສົ່ງກັບ:

ອິນສະແຕນຊ໌ຂອງບໍລິການ SFDialogs.DialogControl ຫຼື Nothing.

ຕົວຢ່າງ:

ໃນ Basic

     Set myTabPageContainer = oDlg.CreateTabPageContainer("someContainer", Array(20, 20, 60, 15), TabHeaders := Array("Modules", "Dialogs", "Libraries"))
   
ໃນ Python

     myTabPageContainer = dlg.CreateTabPageContainer('theTabs', TabHeaders=('Modules', 'Dialogs', 'Libraries'), place=(20, 20, 60, 15))
   

CreateTextField

ສ້າງຕົວຄວບຄຸມໃໝ່ປະເພດ TextField ໃນໄດອາລັອກປັດຈຸບັນ.

ໄວຍາກອນ:

svc.CreateTextField(ControlName: str, Place: any, Border: str = "3D", MultiLine: bool = False, MaximumLength: num = 0, PasswordCharacter: str = ""): svc

ພາຣາມິເຕີ:

ControlName: ຊື່ຂອງຕົວຄວບຄຸມໃໝ່. ມັນຕ້ອງຍັງບໍ່ມີຢູ່ໃນປັດຈຸບັນ.

Place: ອາດເປັນ…

ອົງປະກອບທັງໝົດສະແດງອອກໃນຫົວໜ່ວຍ Map AppFont.

Border: "3D" (ຄ່າເລີ່ມຕົ້ນ), "FLAT" ຫຼື "NONE"

MultiLine: ເມື່ອເປັນ True (ຄ່າເລີ່ມຕົ້ນ = False), ຄຳອະທິບາຍອາດສະແດງໄດ້ຫຼາຍກວ່າໜຶ່ງບັນທັດ

MaximumLength: ຈຳນວນຕົວອັກສອນສູງສຸດ (ຄ່າເລີ່ມຕົ້ນ = 0 ໝາຍເຖິງບໍ່ຈຳກັດ)

PasswordCharacter: ຕົວອັກສອນດຽວທີ່ໃຊ້ສະແດງແທນລະຫັດຜ່ານໃນ password text field (ຄ່າເລີ່ມຕົ້ນ = "")

ປະເພດຄ່າທີ່ສົ່ງກັບ:

ອິນສະແຕນຊ໌ຂອງບໍລິການ SFDialogs.DialogControl ຫຼື Nothing.

ຕົວຢ່າງ:

ໃນ Basic
Set myTextField = oDlg.CreateTextField("TextField1", Array(20, 20, 120, 50), MultiLine := True)
   
ໃນ Python

     myTextField = dlg.CreateTextField('TextField1', (20, 20, 120, 50), MultiLine = True)
   

CreateTimeField

ສ້າງຕົວຄວບຄຸມໃໝ່ປະເພດ TimeField ໃນໄດອາລັອກປັດຈຸບັນ.

ໄວຍາກອນ:

svc.CreateTimeField(ControlName: str, Place: any, Border: str = "3D", MinTime: num = 0, MaxTime: num = 24): svc

ພາຣາມິເຕີ:

ControlName: ຊື່ຂອງຕົວຄວບຄຸມໃໝ່. ມັນຕ້ອງຍັງບໍ່ມີຢູ່ໃນປັດຈຸບັນ.

Place: ອາດເປັນ…

ອົງປະກອບທັງໝົດສະແດງອອກໃນຫົວໜ່ວຍ Map AppFont.

Border: "3D" (ຄ່າເລີ່ມຕົ້ນ), "FLAT" ຫຼື "NONE"

MinTime: ເວລາທີ່ນ້ອຍທີ່ສຸດທີ່ສາມາດປ້ອນເຂົ້າໃນຕົວຄວບຄຸມໄດ້. ຄ່າເລີ່ມຕົ້ນ = 0

MaxTime: ເວລາທີ່ໃຫຍ່ທີ່ສຸດທີ່ສາມາດປ້ອນເຂົ້າໃນຕົວຄວບຄຸມໄດ້. ຄ່າເລີ່ມຕົ້ນ = 24ຊມ

ປະເພດຄ່າທີ່ສົ່ງກັບ:

ອິນສະແຕນຊ໌ຂອງບໍລິການ SFDialogs.DialogControl ຫຼື Nothing.

ຕົວຢ່າງ:

ໃນ Basic

     Set myTimeField = oDlg.CreateTimeField("TimeField1", Array(20, 20, 60, 15))
   
ໃນ Python

     myTimeField = dlog.CreateTimeField('TimeField1', (20, 20, 60, 15))
   

CreateTreeControl

ສ້າງຕົວຄວບຄຸມໃໝ່ປະເພດ TreeControl ໃນໄດອາລັອກປັດຈຸບັນ.

ໄວຍາກອນ:

svc.CreateTreeControl(ControlName: str, Place: any, Border = "3D"): svc

ພາຣາມິເຕີ:

ControlName: ຊື່ຂອງຕົວຄວບຄຸມໃໝ່. ມັນຕ້ອງຍັງບໍ່ມີຢູ່ໃນປັດຈຸບັນ.

Place: ອາດເປັນ…

ອົງປະກອບທັງໝົດສະແດງອອກໃນຫົວໜ່ວຍ Map AppFont.

Border: "3D" (ຄ່າເລີ່ມຕົ້ນ), "FLAT" ຫຼື "NONE"

ປະເພດຄ່າທີ່ສົ່ງກັບ:

ອິນສະແຕນຊ໌ຂອງບໍລິການ SFDialogs.DialogControl ຫຼື Nothing.

ຕົວຢ່າງ:

ໃນ Basic

     Set myTreeControl = oDlg.CreateTreeControl("TreeControl1", Array(20, 20, 60, 15))
   
ໃນ Python

     myTreeControl = dlg.CreateTreeControl('TreeControl1', (20, 20, 60, 15))
   

EndExecute

ຢຸດການສະແດງຜົນຂອງໄດອາລັອກແບບ modal ແລະ ສົ່ງອາຄິວເມັ້ນຄືນເປັນຄ່າຜົນລັບສຳລັບການເຮັດວຽກຂອງ Execute() ປັດຈຸບັນ.

EndExecute() ມັກຈະລວມຢູ່ໃນການປະມວນຜົນຂອງມາກໂຣທີ່ຖືກກະຕຸ້ນໂດຍເຫດການຂອງໄດອາລັອກ ຫຼື ຕົວຄວບຄຸມ.

ໄວຍາກອນ:

svc.EndExecute(returnvalue: int)

ພາຣາມິເຕີ:

returnvalue: ຄ່າທີ່ສົ່ງຕໍ່ໄປຍັງວິທີ Execute() ທີ່ກຳລັງເຮັດວຽກຢູ່.

ຕົວຢ່າງ:

ໃນ Basic

      Sub OnEvent(poEvent As com.sun.star.lang.EventObject)
          Dim oDlg As Object
          Set oDlg = CreateScriptService("SFDialogs.DialogEvent", poEvent)
          oDlg.EndExecute(ReturnValue := 25)
      End Sub
   
ໃນ Python

     from com.sun.star.lang import EventObject
     def on_event(event: EventObject):
         dlg = CreateScriptService("SFDialogs.DialogEvent", event)
         dlg.EndExecute(25)
   
ໄອຄອນ ເຄັດລັບ

ການອ້າງອີງເຖິງ com.sun.star.lang.EventObject ຂ້າງເທິງນັ້ນເປັນພຽງທາງເລືອກ. ຄຳອະທິບາຍດັ່ງກ່າວຊ່ວຍລະບຸສ່ວນຕິດຕໍ່ການຂຽນໂປຣແກຣມແອັບພລິເຄຊັນ (API) ຂອງ LibreOffice.


Execute

ສະແດງກ່ອງໄດອາລັອກ ແລະ ຖ້າເປັນແບບ modal, ຈະລໍຖ້າໃຫ້ຜູ້ໃຊ້ປິດມັນລົງ. ຄ່າທີ່ສົ່ງຄືນອາດເປັນ:

ສຳລັບກ່ອງໄດອາລັອກແບບ non-modal, ວິທີນີ້ຈະສົ່ງຄືນຄ່າ 0 ສະເໝີ ແລະ ການເຮັດວຽກຂອງມາກໂຣຈະດຳເນີນຕໍ່ໄປ.

ໄວຍາກອນ:

svc.Execute(modal: bool = True): int

ພາຣາມິເຕີ:

modal: ເປັນ False ເມື່ອເປັນໄດອາລັອກແບບ non-modal. ຄ່າເລີ່ມຕົ້ນ = True.

ຕົວຢ່າງ:

ໃນຕົວຢ່າງ Basic ນີ້, ໄດອາລັອກ myDialog ຖືກເກັບໄວ້ໃນຫ້ອງສະໝຸດ Standard ຂອງເອກະສານປັດຈຸບັນ.


      Dim oDlg As Object, lReturn As Long
      Set oDlg = CreateScriptService("SFDialogs.Dialog", , , "myDialog")
      lReturn = oDlg.Execute(Modal := False)
      Select Case lReturn
          ' ...
      End Select
   

ໂຄ້ດ Python ນີ້ສະແດງໄດອາລັອກແບບ modal DlgConvert ຈາກຫ້ອງສະໝຸດ Basic ສ່ວນກາງ Euro.


     dlg = CreateScriptService("SFDialogs.Dialog", 'GlobalScope', 'Euro', "DlgConvert")
     rc = dlg.Execute()
     if rc == dlg.CANCELBUTTON:
         # ...
   

GetTextsFromL10N

ແທນທີ່ຂໍ້ຄວາມຄົງທີ່ (fixed text) ທັງໝົດໃນໄດອາລັອກດ້ວຍເວີຊັນທີ່ແປແລ້ວ ອີງຕາມອິນສະແຕນຊ໌ບໍລິການ L10N. ວິທີນີ້ແປຂໍ້ຄວາມຕໍ່ໄປນີ້:

ວິທີນີ້ສົ່ງຄືນຄ່າ True ຖ້າສຳເລັດ.

ເພື່ອສ້າງລາຍຊື່ຂໍ້ຄວາມທີ່ສາມາດແປໄດ້ໃນໄດອາລັອກ, ໃຫ້ໃຊ້ວິທີ AddTextsFromDialog ຈາກບໍລິການ L10N.

ໄວຍາກອນ:

svc.GetTextsFromL10N(l10n: svc): bool

ພາຣາມິເຕີ:

l10n: ອິນສະແຕນຊ໌ບໍລິການ L10N ເຊິ່ງຈະຖືກໃຊ້ເພື່ອດຶງຂໍ້ຄວາມທີ່ແປແລ້ວ.

ຕົວຢ່າງ:

ຕົວຢ່າງຕໍ່ໄປນີ້ໂຫຼດຂໍ້ຄວາມທີ່ແປແລ້ວ ແລະ ນຳໃຊ້ພວກມັນກັບໄດອາລັອກ "MyDialog".

ໃນ Basic

     oDlg = CreateScriptService("Dialog", "GlobalScope", "Standard", "MyDialog")
     myPO = CreateScriptService("L10N", "/home/user/po_files/")
     oDlg.GetTextsFromL10N(myPO)
     oDlg.Execute()
   
ໃນ Python

     dlg = CreateScriptService("Dialog", "GlobalScope", "Standard", "MyDialog")
     myPO = CreateScriptService("L10N", "/home/user/po_files/")
     dlg.GetTextsFromL10N(myPO)
     dlg.Execute()
   
ໄອຄອນ ເຄັດລັບ

ອ່ານໜ້າຊ່ວຍເຫຼືອ ບໍລິການ L10N ເພື່ອຮຽນຮູ້ເພີ່ມເຕີມກ່ຽວກັບວິທີຈັດການໄຟລ໌ PO ແລະ POT.


ImportControl

ນຳເຂົ້າ ແລະ ເຮັດສຳເນົາຕົວຄວບຄຸມທີ່ມີຢູ່ແລ້ວທຸກປະເພດຈາກໄດອາລັອກໜຶ່ງໄປຍັງໄດອາລັອກປັດຈຸບັນ. ຕົວຄວບຄຸມທີ່ຖືກສຳເນົາຈະຍັງຄືເກົ່າ. ຕົວຄວບຄຸມໃໝ່ສາມາດປ່ຽນຊື່ ແລະ ຍ້າຍຕຳແໜ່ງໄດ້. ຕົວຈັດການເຫດການ (Events handlers) ກໍອາດຈະຖືກນຳເຂົ້າໄດ້ຄືກັນ ຖ້າມີຢູ່.

ໄວຍາກອນ:

svc.ImportControl(SourceDialog: svc, SourceName: str, opt ControlName: str, Page: num = 0, OffsetX: num = 0, OffsetY:num = 0, IncludeOnProperties: bool = False): svc

ພາຣາມິເຕີ:

SourceDialog: ອິນສະແຕນຊ໌ຄລາສ SFDialogs.Dialog.

SourceName: ຊື່ຂອງຕົວຄວບຄຸມທີ່ຈະນຳເຂົ້າ.

ControlName: ຊື່ຂອງຕົວຄວບຄຸມໃໝ່. ມັນຕ້ອງຍັງບໍ່ມີຢູ່ໃນປັດຈຸບັນ. ຄ່າເລີ່ມຕົ້ນແມ່ນ SourceName

Page: ໝາຍເລກໜ້າຂອງຕົວຄວບຄຸມໃໝ່. ຄ່າເລີ່ມຕົ້ນ = 0

OffsetX, OffsetY: ຈຳນວນພິກເຊວທີ່ຈະເພີ່ມໃສ່ພິກັດຂອງຕົວຄວບຄຸມຕົ້ນທາງ ໃນຫົວໜ່ວຍ "Map AppFont". ຄ່າເລີ່ມຕົ້ນ = 0, ສາມາດເປັນຄ່າລົບໄດ້.

IncludeOnProperties: ລວມເອົາຄຸນສົມບັດເຫດການ On.... ຄ່າເລີ່ມຕົ້ນ = False.

ປະເພດຄ່າທີ່ສົ່ງກັບ:

ອິນສະແຕນຊ໌ຂອງບໍລິການ SFDialogs.DialogControl ຫຼື Nothing.

ຕົວຢ່າງ:

ໃນ Basic

     Set mCtrl = oDlg.ImportControl(srceDlg, "someCtrlName")
   
ໃນ Python

     dlg.ImportControl(srceDlg, 'aCtrlName', includeOnProperties=true)
   

OrderTabs

ຕັ້ງຄ່າດັດຊະນີການແທັບ (tabulation index) ຂອງຊຸດຕົວຄວບຄຸມ. ລຳດັບຂອງຕົວຄວບຄຸມຈະຖືກສົ່ງເປັນອາເຣຂອງຊື່ຕົວຄວບຄຸມ ຕັ້ງແຕ່ຕົວທຳອິດຫາຕົວສຸດທ້າຍ.

ໄອຄອນ ຄຳເຕືອນ

ຕົວຄວບຄຸມທີ່ມີດັດຊະນີ >= 1 ຈະບໍ່ສາມາດເຂົ້າເຖິງໄດ້ດ້ວຍປຸ່ມ TAB ຖ້າ:
- ພວກມັນຖືກຕັດອອກຈາກລາຍຊື່ທີ່ໃຫ້ມາ
- ປະເພດຂອງພວກມັນແມ່ນ FixedLine, GroupBox ຫຼື ProgressBar
- ພວກມັນຖືກປິດການໃຊ້ງານ


ໄວຍາກອນ:

svc.TabsList(TabsList: num, Start: num = 1, Increment: num = 1): bool

ພາຣາມິເຕີ:

TabsList: ອາເຣຂອງຊື່ຕົວຄວບຄຸມທີ່ຖືກຕ້ອງຕາມລຳດັບການແທັບ

ເລີ່ມຕົ້ນ: ດັດຊະນີແທັບ (tab index) ທີ່ຈະກຳນົດໃຫ້ກັບຕົວຄວບຄຸມທີ 1 ໃນລາຍການ. ຄ່າເລີ່ມຕົ້ນ = 1

ຄ່າເພີ່ມຂຶ້ນ: ຄວາມແຕກຕ່າງລະຫວ່າງ 2 ດັດຊະນີແທັບທີ່ຖັດກັນ. ຄ່າເລີ່ມຕົ້ນ = 1

ປະເພດຄ່າທີ່ສົ່ງກັບ:

ສົ່ງຄືນ True ເມື່ອສຳເລັດ.

ຕົວຢ່າງ:

ໃນ Basic

     oDlg.OrderTabs(Array("myListBox", "myTextField", "myNumericField"), Start := 10)
   
ໃນ Python

     dlg.OrderTabs(('myListBox', 'myTextField', 'myNumericField'), Start = 10)
   

Resize

ຍ້າຍມຸມຊ້າຍເທິງຂອງໄດອາລັອກໄປຫາພິກັດໃໝ່ ແລະ/ຫຼື ປັບປ່ຽນຂະໜາດຂອງມັນ. ໄລຍະຫ່າງທັງໝົດຈະສະແດງເປັນຫົວໜ່ວຍ AppFont. ຖ້າບໍ່ມີອາຄິວເມັນ, ວິທີການນີ້ຈະຕັ້ງຄ່າຂະໜາດເລີ່ມຕົ້ນໃໝ່. ສົ່ງຄືນ True ຖ້າການປ່ຽນຂະໜາດສຳເລັດ.

ໄວຍາກອນ:

svc.Resize(opt Left: num, opt Top: num, opt Width: num, opt Height: num): bool

ພາຣາມິເຕີ:

ຊ້າຍ: ໄລຍະຫ່າງຕາມແນວນອນຈາກມຸມຊ້າຍເທິງ

ເທິງ: ໄລຍະຫ່າງຕາມແນວຕັ້ງຈາກມຸມຊ້າຍເທິງ

ຄວາມກວ້າງ: ຄວາມກວ້າງຂອງຮູບສີ່ແຈສາກທີ່ບັນຈຸໄດອາລັອກ

ຄວາມສູງ: ຄວາມສູງຂອງຮູບສີ່ແຈສາກທີ່ບັນຈຸໄດອາລັອກ

ອາຄິວເມັນທີ່ຂາດໄປຈະບໍ່ຖືກປ່ຽນແປງ

ຕົວຢ່າງ:

ໃນ Basic

     oDlg.Resize(1000, 2000, Height := 6000) ' ຄວາມກວ້າງບໍ່ຖືກປ່ຽນແປງ
   
ໃນ Python

     dlg.Resize(1000, 2000, Height = 6000)  # ຄວາມກວ້າງບໍ່ຖືກປ່ຽນແປງ
   

SetPageManager

ກຳນົດວ່າຕົວຄວບຄຸມໃດໃນໄດອາລັອກທີ່ມີໜ້າທີ່ໃນການສະຫຼັບໜ້າ, ເພື່ອໃຫ້ງ່າຍຂຶ້ນໃນການຈັດການຄຸນສົມບັດ Page ຂອງໄດອາລັອກ ແລະ ຕົວຄວບຄຸມຂອງມັນ.

ໄດອາລັອກອາດຈະມີຫຼາຍໜ້າ ແລະ ໜ້າທີ່ກຳລັງສະແດງຢູ່ໃນປັດຈຸບັນແມ່ນຖືກກຳນົດໂດຍຄຸນສົມບັດ Page ຂອງໄດອາລັອກ. ຖ້າຄຸນສົມບັດ Page ບໍ່ຖືກປ່ຽນແປງ, ໜ້າເລີ່ມຕົ້ນທີ່ສະແດງຈະເທົ່າກັບ 0 (ສູນ), ຊຶ່ງໝາຍຄວາມວ່າບໍ່ມີການກຳນົດໜ້າໃດໜຶ່ງໂດຍສະເພາະ ແລະ ຕົວຄວບຄຸມທີ່ເຫັນໄດ້ທັງໝົດຈະຖືກສະແດງໂດຍບໍ່ສົນວ່າຄຸນສົມບັດ Page ຂອງພວກມັນເອງຖືກຕັ້ງໄວ້ເປັນຄ່າໃດ.

ເມື່ອຄຸນສົມບັດ Page ຂອງໄດອາລັອກຖືກປ່ຽນເປັນຄ່າອື່ນ ເຊັ່ນ 1, 2, 3 ແລະ ຕໍ່ໆໄປ, ຈະມີພຽງແຕ່ຕົວຄວບຄຸມທີ່ມີຄຸນສົມບັດ Page ກົງກັບໜ້າຂອງໄດອາລັອກປັດຈຸບັນເທົ່ານັ້ນທີ່ຈະຖືກສະແດງ.

ໂດຍການໃຊ້ວິທີການ SetPageManager, ທ່ານສາມາດກຳນົດຕົວຈັດການໜ້າໄດ້ສີ່ປະເພດ:

ໄອຄອນ ເຄັດລັບ

ທ່ານສາມາດໃຊ້ກົນໄກການຈັດການໜ້າຫຼາຍກວ່າໜຶ່ງຢ່າງພ້ອມກັນໄດ້.


ວິທີການນີ້ຄວນຖືກເອີ້ນພຽງແຕ່ຄັ້ງດຽວກ່ອນທີ່ຈະເອີ້ນວິທີການ Execute. ການເອີ້ນຄັ້ງຕໍ່ໆໄປຈະຖືກລະເລີຍ.

ຖ້າສຳເລັດ ວິທີການນີ້ຈະສົ່ງຄືນ True.

ໄວຍາກອນ:

svc.SetPageManager(pilotcontrols: str = "", tabcontrols: str = "", wizardcontrols: str = "", opt lastpage: int): bool

ພາຣາມິເຕີ:

pilotcontrols: ລາຍການຊື່ຕົວຄວບຄຸມ ListBox, ComboBox ຫຼື RadioButton ທີ່ຂັ້ນດ້ວຍຈຸດ ເພື່ອໃຊ້ເປັນຕົວຈັດການໜ້າ. ສຳລັບຕົວຄວບຄຸມ RadioButton, ໃຫ້ລະບຸຊື່ຂອງຕົວຄວບຄຸມທຳອິດໃນກຸ່ມທີ່ຈະໃຊ້.

tabcontrols: ລາຍການຊື່ປຸ່ມທີ່ຂັ້ນດ້ວຍຈຸດທີ່ຈະໃຊ້ເປັນຕົວຈັດການໜ້າ. ລຳດັບທີ່ລະບຸໃນອາຄິວເມັນນີ້ຈະກົງກັບໝາຍເລກໜ້າທີ່ພວກມັນກ່ຽວຂ້ອງ.

wizardcontrols: ລາຍການຊື່ປຸ່ມສອງປຸ່ມທີ່ຂັ້ນດ້ວຍຈຸດທີ່ຈະໃຊ້ເປັນປຸ່ມ ກ່ອນໜ້າ/ຖັດໄປ.

lastpage: ໝາຍເລກຂອງໜ້າສຸດທ້າຍທີ່ມີຢູ່. ແນະນຳໃຫ້ລະບຸຄ່ານີ້ເມື່ອໃຊ້ຕົວຈັດການໜ້າແບບ ກ່ອນໜ້າ/ຖັດໄປ.

ຕົວຢ່າງ:

ພິຈາລະນາໄດອາລັອກທີ່ມີສາມໜ້າ. ໄດອາລັອກມີຕົວຄວບຄຸມ ListBox ຊື່ "aPageList" ທີ່ຈະໃຊ້ເພື່ອຄວບຄຸມໜ້າທີ່ສະແດງ. ນອກຈາກນັ້ນ, ຍັງມີສອງປຸ່ມຊື່ "btnPrevious" ແລະ "btnNext" ທີ່ຈະໃຊ້ເປັນປຸ່ມ ກ່ອນໜ້າ/ຖັດໄປ ໃນໄດອາລັອກ.

ໃນ Basic

    oDlg.SetPageManager(PilotControls := "aPageList", _
                           WizardControls := "btnPrevious,btnNext", _
                           LastPage := 3)
    oDlg.Execute()
  
ໃນ Python

    dlg.SetPageManager(pilotcontrols="aPageList",
                       wizardcontrols="btnPrevious,btnNext",
                       lastpage=3)
    dlg.Execute()
  

Terminate

ຢຸດການເຮັດວຽກຂອງບໍລິການ Dialog ສຳລັບອິນສະແຕນຊ໌ (instance) ປັດຈຸບັນ. ສົ່ງຄືນ True ຖ້າການຢຸດເຮັດວຽກສຳເລັດ.

ໄວຍາກອນ:

svc.Terminate(): bool

ຕົວຢ່າງ:

ຕົວຢ່າງ Basic ແລະ Python ລຸ່ມນີ້ຈະເປີດໄດອາລັອກແບບ non-modal DlgConsole ແລະ dlgTrace. ພວກມັນຖືກເກັບໄວ້ໃນຄັງສຳນວນ (shared libraries) ScriptForge ແລະ Access2Base ຕາມລຳດັບ. ປຸ່ມປິດໄດອາລັອກຖືກປິດໃຊ້ງານ ແລະ ມີການຢຸດການເຮັດວຽກຢ່າງຊັດເຈນໃນຕອນທ້າຍຂອງຂະບວນການ.

ໃນຕົວຢ່າງນີ້ ປຸ່ມໃນ DlgConsole ຈະຖືກໃຊ້ແທນການປິດໜ້າຕ່າງທີ່ຖືກຫ້າມໄວ້:

ໃນ Basic

     oDlg = CreateScriptService("SFDialogs.Dialog","GlobalScope","ScriptForge","DlgConsole")
     oDlg.Execute(modal:=False)
     Wait 5000
     oDlg.Terminate()
   
ໃນ Python

     from time import sleep
     dlg = CreateScriptService('SFDialogs.Dialog',"GlobalScope",'Access2Base',"dlgTrace")
     dlg.Execute(modal=False)
     sleep 5
     dlg.Terminate()
   
ໄອຄອນ ຄຳເຕືອນ

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


ກະລຸນາສະໜັບສະໜູນພວກເຮົາ!

ກະລຸນາສະໜັບສະໜູນພວກເຮົາ!