[Gambas-user] How to create an array of checkbox?

roberto.premoli at tiscali.it roberto.premoli at tiscali.it
Tue Sep 26 10:15:52 CEST 2023


  none, thank you.
(ma se dici "robe' " allora ti posso rispondere:
fatto, grazie :-) )

Il 26.09.2023 08:37 vuott--- via User ha scritto:


> Robe'... you have to make them "Children" of the "Panel": 
> With
ccbb[b] = New CheckBox(Panel1) As "CheckCheck" 
> 26 set 2023, 08:15 da
roberto.premoli at tiscali.it: 
> 
>> AND HERE WE ARE! 
>> this is exactly
was I was looking for! thank you and to all who helped me. 
>> JUST LAST
QUESTION: this code create the array and wrote them into the main
window, the Form. 
>> In my actual code the list of single checkbox are
inside a panel (so if i move the panel, i move all the object inside and
make it more easy for me to arrange his position around the main window,
the Form). 
>> So, it is possible to create those ccbb[index] inside
Panel1 and if yes, how? 
>> 
>> Il 26.09.2023 02:09 vuott--- via User ha
scritto: 
>> 
>>> ...now let's do an analogous example, but with
checkbox array: 
>>> [code] 
>>> Private ccbb As New CheckBox[4] 
>>>
Public Sub Form_Open() 
>>> 
>>> For b As Byte = 0 To 3 
>>> With
ccbb[b] = New CheckBox(Me) As "CheckCheck" 
>>> .X = (b + 1) * 70 
>>>
.Y = 100 
>>> .W = 50 
>>> .H = 10 
>>> .Name = "CheckBox n. " & CStr(b)

>>> End With 
>>> Next 
>>> 
>>> End 
>>> Public Sub
CheckCheck_MouseDown() 
>>> 
>>> Print Last.Name 
>>> 
>>> End 
>>>
Public Sub Button1_Click() 
>>> ccbb[2].Background = Color.Red 
>>> End

>>> [/code] 
>>> 26 set 2023, 02:03 da user at lists.gambas-basic.org:

>>> 
>>>> I did not use an array. 
>>>> With my code you have to
identify a feature, more specifically a Property that identifies the
graphic Object, whose background color you want to change. 
>>>>
Example: 
>>>> [code] 
>>>> Private cb As CheckBox 
>>>> Public Sub
Form_Open() 
>>>> 
>>>> For b As Byte = 0 To 3 
>>>> With cb = New
CheckBox(Me) As "CheckCheck" 
>>>> .X = (b + 1) * 70 
>>>> .Y = 100

>>>> .W = 50 
>>>> .H = 10 
>>>> .Name = "CheckBox n. " & CStr(b) 
>>>>
End With 
>>>> Next 
>>>> 
>>>> End 
>>>> Public Sub
CheckCheck_MouseDown() 
>>>> 
>>>> Print Last.Name 
>>>> 
>>>> End 
>>>>
Public Sub Button1_Click() 
>>>> Dim ob As Object 
>>>> For Each ob In
Me.Children 
>>>> ' Identify the name of the first "CheckBox" and
changes its background color: 
>>>> If ob.Name = "CheckBox n. 0" Then
ob.Background = Color.Red 
>>>> Next 
>>>> End 
>>>> 26 set 2023, 00:18
da roberto.premoli at tiscali.it: 
>>>> 
>>>>> done, but now i have another
problem: how can I address the single element of array? 
>>>>> for
example if i want to chance some value of a precise element of array,
for example background, like this: 
>>>>> public sub button1_Mousedown()

>>>>> CheckCheck[2].background = 255 
>>>>> end 
>>>>> 
>>>>> it return
me the follow error "unknown identifier: CheckCheck". 
>>>>> probably i
do wrong sintax but i dont know the right one 
>>>>> Il 25.09.2023 23:32
vuott--- via User ha scritto: 
>>>>> 
>>>>>> You can also directly use
an array of "CheckBox": CheckBox[...] 
>>>>>> 
>>>>>> You can also avoid
using an array, though: 
>>>>>> [code] 
>>>>>> Public Sub Form_Open()

>>>>>> 
>>>>>> Dim cb As CheckBox 
>>>>>> 
>>>>>> For b As Byte = 0 To
3 
>>>>>> With cb = New CheckBox(Me) As "CheckCheck" 
>>>>>> .X = (b +
1) * 50 
>>>>>> .Y = 100 
>>>>>> .W = 20 
>>>>>> .H = 10 
>>>>>> .Name =
"CheckBox n. " & CStr(b) 
>>>>>> End With 
>>>>>> Next 
>>>>>> 
>>>>>>
End 
>>>>>> Public Sub CheckCheck_MouseDown() 
>>>>>> 
>>>>>> Print
Last.Name 
>>>>>> 
>>>>>> End 
>>>>>> [/code] 
>>>>>> 25 set 2023, 21:18
da roberto.premoli at tiscali.it: 
>>>>>> 
>>>>>>> Il 25.09.2023 20:11 T
Lee Davidson ha scritto: 
>>>>>>> 
>>>>>>>> On 9/25/23 13:53,
roberto.premoli at tiscali.it [1]wrote: 
>>>>>>>> 
>>>>>>>>> Hello,i using
checbox, 16 checboxez, form check01 to check16. i manage 
>>>>>>>>> it
individually position, value, text, etc. Now program need to be

>>>>>>>>> expandedto 64 (maybe 128 in future) checkbox. To hndle
manually is a 
>>>>>>>>> pain, with high risk to do human misake in
copy/paste of code. I need 
>>>>>>>>> an array like check(index 0 to
63). I know is not possible to do in 
>>>>>>>>> IDE, but i dont know ho
tto do in code. I tied to search in gambaswiki 
>>>>>>>>> without find
so i came here to ask. A little example will be greatly 
>>>>>>>>>
apprecated howto create an array of checkbox. thanks, Roberto
>>>>>>>>

>>>>>>>> Maybe Object[] will do what you need: 
>>>>>>>>
https://gambaswiki.org/wiki/comp/gb/object[] [2] 
>>>>>>>> -- Lee ----[
http://gambaswiki.org/wiki/doc/netiquette [3] ]----
>>>>>>> 
>>>>>>>
Links: 
>>>>>>> ------ 
>>>>>>> [1] mailto:roberto.premoli at tiscali.it

>>>>>>> [2] https://gambaswiki.org/wiki/comp/gb/object[] 
>>>>>>> [3]
http://gambaswiki.org/wiki/doc/netiquette 
>>>>>>> it works, craete an
array of check box. but now how can i interact with that? if i draw a
checbbox in code, then i have therlative action (mousedown, etc) that i
can fill with my code , bit with this dinamically created objec,s where
can i wrote te relative cod tu react to actions on them? 
>>>>>>> ----[
http://gambaswiki.org/wiki/doc/netiquette ]----
  
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.gambas-basic.org/pipermail/user/attachments/20230926/ab491738/attachment-0001.htm>


More information about the User mailing list