ஓப்பன் ஆஃபிஸ் பேஸிக்கில் கட்டளைவரிகளை தொடர்ந்து செயல்படுமாறு இணைத்திடுகின்ற புரியாக்குதலும்(threading), செயல்களை மறுஅட்டவணை படுத்துதலும் (rescheduling) சிறிது வித்தியாசமான செயலாகும். ஏனெனில் இது இயக்க நேரத்தில் மட்டும் செயல்களை அட்டவணைபடுத்திடுவதற்கான வசதியை வைத்துள்ளது. மேலும் மூலக்குறிமுறைகளையும் உரையாடல் பெட்டிகளுக்கான கட்டளை வரிகளையும் மேம்படுத்தபட்ட நூலகத்தை நிருவகித்தலின்மூலம் பராமரிக்கின்றது இந்த மேம்படுத்தபட்ட நூலகத்தை நிருவகித்தலின் பொதுவான கட்டமைப்பானது Library container , Library , Library elements ஆகியமூன்று நிலைகளில் உள்ளன
அதிலும் Basic library container என்பது மூலக்குறிமுறைகளை மட்டும் dialog library container என்பது உரையாடல் பெட்டிகளுக்கான கட்டளைவரிகளைமட்டும் கொண்டுள்ளன. இதிலுள்ள முன்கூட்டியே கட்டமைக்கபட்ட BasicLibraries. DialogLibraries ஆகிய பண்பியல்புகளின் மூலம் இதனை அனுகி திருத்தம் செய்யலாம் இந்த பேஸிக்ஆனது இயங்க துவங்கும்போது நூலகத்தின் Standard என்பது மட்டும் எப்போதும் நினைவகத்தில் மேலேற்றம் செய்யபட்டிருக்கும் மற்றவை தேவைப்படும்போதும் மட்டும் மேலேற்றம் செய்து பயன்படுத்தி கொள்ளும்
createLibrary() என்ற கட்டளைவரியின் வாயிலாக புதிய நூலகதாங்கி (library container) உருவாக்கபடும் அவ்வாறே நடப்பிலுள்ள நூலகதாங்கி (existing library container) யானது createLibraryLink()என்ற கட்டளைவரியின் வாயிலாக இணைத்து வேறு library container உருவாக்கபடும்
உரையாடல் பெட்டியும் ,உரையாடல் பெட்டியின் கட்டுப்பாடும் model, view, controller ஆகிய மூன்று முக்கியதருக்க வகைகளில் Toolkit controls என்பதன் வாயிலாக கட்டுபடுத்தபடுகின்றது
மேற்கூறியவாறு உரையாடல் பெட்டியை வடிவமைத்து உருவாக்கியபின் அவ்வுரையாடல் பெட்டியை நம்முடைய பயன்பாட்டில் கொண்டுவரமுடியும் அதனை கட்டுபாட்டு பெட்டியாக எப்போதுவேண்டுமானாலும் மாற்றிகொள்ளமுடியும் மேலும் அதனுடைய பண்பியல்புகளையும் மாற்றியமைக்கமுடியும் அதுமட்டுமல்லாது கூடுதலான பக்கங்களை அதில் சேர்க்கமுடியும் மேலும் அதில் (இந்தமேக்ரோவில்)
oDialogModel = oDialog.getModel()
oButtonModel = oDialogModel.getByName("CommandButton1")
oButtonModel.setPropertyValue("Label", "My Label")
என்றவாறான கட்டளைவரிகளின் வாயிலாக பொத்தன்களையும்(Buttons)
oImageControlModel = oDialog.Model.ImageControl1
oImageControlModel.ImageURL =
"file:///D:/Office60/share/gallery/photos/beach.jpg"
oImageControlModel.ScaleImage = True
என்றவாறான கட்டளைவரிகளின் வாயிலாக உருவப்படகட்டுபாட்டையும் (ImageControl)
oCheckBoxModel = oDialog.Model.CheckBox3
oCheckBoxModel.TriState = True
oCheckBoxModel.State = 2
என்றவாறான கட்டளைவரிகளின் வாயிலாக தேர்வுசெய்பெட்டியையும்(CheckBox)
If oOptionButton.State Then
' The option is checked
Else
' The option is not checked
End If
என்றவாறானகட்டளைவரிகளின் வாயிலாக வாய்ப்பு பொத்தான்களையும் (OptionButtons)
Dim nCount As Integer, oListBox As Object
oListBox = oDialog.getControl("ListBox1")
nCount = oListBox.getItemCount()
oListBox.addItem( "New Item", nCount )
Dim nPos As Integer, nCount As Integer
nPos = 0
nCount = 1
oListBox.removeItems( nPos, nCount )
oListBox.selectItemPos( 0, True )
Dim sSelectedItem As String
sSelectedItem = oListBox.getSelectedItem()
Dim selectPos As Integer
selectPos = oListBox.getSelectedItemPos()
என்றவாறான கட்டளைவரிகளின் வாயிலாக பட்டி பெட்டியையும்(ListBox)
Dim nCount As Integer
Dim sItems As Variant
REM get control
oComboBox = oDialog.getControl("ComboBox1")
REM first remove all old items from the list
nCount = oComboBox.getItemCount()
oComboBox.removeItems( 0, nCount )
REM add new items to the list
sItems = Array( "Item1", "Item2", "Item3", "Item4", "Item5" )
oComboBox.addItems( sItems, 0 )
என்றவாறான கட்டளைவரிகளின் வாயிலாக சேர்க்கை பெட்டியையும்(ComboBox) உள்ளிணைக்க முடியும்
oScrollBarModel = oDialog.Model.ScrollBar1
oScrollBarModel.ScrollValueMax = 100
oScrollBarModel.BlockIncrement = 20
oScrollBarModel.LineIncrement = 5
oScrollBarModel.VisibleSize = 20
என்றவாறான கட்டளைவரிகளின் வாயிலாக கிடைவரிசை,நெடுவரிசை நகர்வுபட்டையையும் (Horizontal/Vertical Scroll Bar)
Dim oLabelModel As Object
Dim oScrollBarModel As Object
Dim ScrollValue As Long, ScrollValueMax As Long
Dim VisibleSize As Long
Dim Factor As Double
Static bInit As Boolean
Static PositionX0 As Long
Static Offset As Long
REM get the model of the label control
oLabelModel = oDialog.Model.Label1
REM on initialization remember the position of the label control and calculate offset
If bInit = False Then
bInit = True
PositionX0 = oLabelModel.PositionX
OffSet = PositionX0 + oLabelModel.Width - (oDialog.Model.Width - Border)
End If
REM get the model of the scroll bar control
oScrollBarModel = oDialog.Model.ScrollBar1
REM get the actual scroll value
ScrollValue = oScrollBarModel.ScrollValue
REM calculate and set new position of the label control
ScrollValueMax = oScrollBarModel.ScrollValueMax
VisibleSize = oScrollBarModel.VisibleSize
Factor = Offset / (ScrollValueMax - VisibleSize)
oLabelModel.PositionX = PositionX0 - Factor * ScrollValue
End Sub
என்றவாறான கட்டளைவரிகளின் வாயிலாக அதனை கட்டுபடுத்தவதற்கான சரிசெய்திடும் கைப்பிடி(AdjustmentHandler) என்பதையும்
Sub ProgressBarDemo()
Dim oProgressBar as Object, oProgressBarModel As Object, oDialog as Object
Dim ProgressValue As Long
REM Dialog1 contains progress bar ProgressBar1 saved in standard library
DialogLibraries.loadLibrary("Standard")
oDialog = CreateUnoDialog(DialogLibraries.Standard.Dialog1)
REM progress bar settings
Const ProgressValueMin = 0
Const ProgressValueMax = 40
Const ProgressStep = 4
REM set minimum and maximum progress value
oProgressBarModel = oDialog.getModel().getByName( "ProgressBar1" )
oProgressBarModel.setPropertyValue( "ProgressValueMin", ProgressValueMin)
oProgressBarModel.setPropertyValue( "ProgressValueMax", ProgressValueMax)
REM show progress bar
oDialog.setVisible( True )
REM increase progress value every second
For ProgressValue = ProgressValueMin To ProgressValueMax Step ProgressStep
oProgressBarModel.setPropertyValue( "ProgressValue", ProgressValue )
Wait 1000
Next ProgressValue
End Sub
என்றவாறான கட்டளைவரிகளின் வாயிலாக நடைபெறும் பணியின் தற்போதைய நிலையை அறிந்து கொள்வதற்கான (Progress Bar)என்பதை உள்ளிணைக்க முடியும்