Attribute VB_Name = "CheckBoxDemoModule" Option Explicit '--------------------------------------------------------- 'RadioButtonDemo 'Shows the use of the WS_CHECKBOX widget '--------------------------------------------------------- Public wsRfFile As New RFFILE Public wsFactory As New WStFactory Public wsForm As New WStForm Public wsWidget As New WStWidget Public Sub Main() Dim x As Integer Dim y As Integer Dim cx As Integer Dim cy As Integer Dim sObjectName As String Dim sEventValue As String Dim sCurrentState As String Dim sState As String Dim bEnd As Boolean Dim bResult As Boolean bEnd = False 'Form creation and customization wsFactory.CreateFormByName "myForm" wsForm.SetCoordTypeByName "myForm", WS_FORM_CT_BYPERCENTAGE 'Widget creation wsFactory.CreateWidget WS_LABEL, 0, "menu", 30, 0, 45, 5, "CheckBox Demo" wsFactory.CreateWidget WS_BUTTON, 0, "exitButton", 12, 80, 32, 12, "Exit" wsFactory.CreateWidget WS_BUTTON, 0, "resetButton", 55, 80, 32, 12, "Reset" x = 10 y = 10 cx = 35 cy = 10 wsFactory.CreateWidget WS_CHECKBOX, 0, "checkBox", x, y, cx, cy, "CheckBox 1" wsFactory.CreateWidget WS_CHECKBOX, 0, "checkBox2", x, y + 15, cx, cy, "CheckBox 2" wsFactory.CreateWidget WS_CHECKBOX, 0, "checkBox3", x, y + 30, cx, cy, "CheckBox 3" x = 55 y = 10 wsFactory.CreateWidget WS_CHECKBOX, 0, "checkBox4", x, y, cx, cy, "CheckBox 4" wsFactory.CreateWidget WS_CHECKBOX, 0, "checkBox5", x, y + 15, cx, cy, "CheckBox 5" wsFactory.CreateWidget WS_CHECKBOX, 0, "checkBox6", x, y + 30, cx, cy, "CheckBox 6" x = 10 y = 55 cx = 70 wsFactory.CreateWidget WS_LABEL, 0, "checkBoxStatusLabel", x, y, cx, 5, "CheckBox Status" wsFactory.CreateWidget WS_LABEL, 0, "firstLineState", x, y + 5, cx, 5, "" wsFactory.CreateWidget WS_LABEL, 0, "secondLineState", x, y + 10, cx, 5, "" wsFactory.CreateWidget WS_LABEL, 0, "thirdLineState", x, y + 15, cx, 5, "" 'Fonts wsFactory.CreateCustomFont 1, 14, True, False, False, "Times New Roman", WS_CENTER wsFactory.CreateCustomFont 4, 16, False, False, True, "Times New Roman", WS_LEFT wsFactory.CreateCustomFont 5, 15, True, False, False, "Tahoma", WS_CENTER wsFactory.LoadExternalIcon 3, WS_EXIT, "iconlib.dll" wsFactory.LoadExternalIcon 4, WS_RELOAD, "iconlib.dll" wsWidget.SetIconByName "exitButton", 3 wsWidget.SetIconByName "resetButton", 4 'Widget attachment wsForm.AddObjectByName "myForm", "menu" wsForm.AddObjectByName "myForm", "exitButton" wsForm.AddObjectByName "myForm", "resetButton" wsForm.AddObjectByName "myForm", "checkBox" wsForm.AddObjectByName "myForm", "checkBox4" wsForm.AddObjectByName "myForm", "checkBox2" wsForm.AddObjectByName "myForm", "checkBox5" wsForm.AddObjectByName "myForm", "checkBox3" wsForm.AddObjectByName "myForm", "checkBox6" wsForm.AddObjectByName "myForm", "firstLineState" wsForm.AddObjectByName "myForm", "secondLineState" wsForm.AddObjectByName "myForm", "thirdLineState" wsForm.AddObjectByName "myForm", "checkBoxStatusLabel" wsWidget.SetFontByName "menu", 1 wsWidget.SetFontByName "exitButton", 1 wsWidget.EnableTabStopByName "exitButton", False wsWidget.EnableTabStopByName "resetButton", False wsWidget.ModifyStyleByName "checkBox4", WS_STYLE_PUSH_LIKE wsWidget.ModifyStyleByName "checkBox5", WS_STYLE_PUSH_LIKE wsWidget.ModifyStyleByName "checkBox6", WS_STYLE_PUSH_LIKE wsWidget.SetStateByName "checkBox2", WS_STATE_CHECKED wsWidget.SetStateByName "checkBox6", WS_STATE_CHECKED bResult = wsForm.ShowByName("myForm", True, True) 'Shows initial state of the checkBoxes sState = wsWidget.GetStateByName("checkBox") sCurrentState = "CheckBox: " + sState sState = wsWidget.GetStateByName("checkBox4") sCurrentState = sCurrentState + " " + "CheckBox4: " + sState wsWidget.SetTextByName "firstLineState", sCurrentState sState = wsWidget.GetStateByName("checkBox2") sCurrentState = "CheckBox2: " + sState sState = wsWidget.GetStateByName("checkBox5") sCurrentState = sCurrentState + " " + "CheckBox5: " + sState wsWidget.SetTextByName "secondLineState", sCurrentState sState = wsWidget.GetStateByName("checkBox3") sCurrentState = "CheckBox3: " + sState sState = wsWidget.GetStateByName("checkBox6") sCurrentState = sCurrentState + " " + "CheckBox6: " + sState wsWidget.SetTextByName "thirdLineState", sCurrentState bResult = True While (bEnd = False And bResult) bResult = wsForm.GetEvent() sObjectName = wsForm.GetLastEventSourceName() If sObjectName = "resetButton" Then bResult = wsForm.RestoreInitialState() End If sState = wsWidget.GetStateByName("checkBox") sCurrentState = "CheckBox: " + sState sState = wsWidget.GetStateByName("checkBox4") sCurrentState = sCurrentState + " " + "CheckBox4: " + sState wsWidget.SetTextByName "firstLineState", sCurrentState sState = wsWidget.GetStateByName("checkBox2") sCurrentState = "CheckBox2: " + sState sState = wsWidget.GetStateByName("checkBox5") sCurrentState = sCurrentState + " " + "CheckBox5: " + sState wsWidget.SetTextByName "secondLineState", sCurrentState sState = wsWidget.GetStateByName("checkBox3") sCurrentState = "CheckBox3: " + sState sState = wsWidget.GetStateByName("checkBox6") sCurrentState = sCurrentState + " " + "CheckBox6: " + sState wsWidget.SetTextByName "thirdLineState", sCurrentState If sObjectName = "exitButton" Or sObjectName = "WSFunctionKeysController" Then bEnd = True End If Wend End Sub