[Gambas-user] How to specify action button at runtime

Ron ron at ...1740...
Wed Jul 15 11:28:49 CEST 2009


kobolds wrote:
> Hi,
>
> I try create button at run time but I having trouble to set the click
> action.
> here my code
>
> DIM m_MaxCol AS Integer = 5
> DIM m_button AS Button
> DIM m_MaxBut AS Integer = 18
> DIM m_Colcnt AS Integer = 0
> DIM m_Rowcnt AS Integer = 0
> DIM m_butcnt AS Integer = 0
> DIM m_Colgap AS Integer = 2
> DIM m_Rowgap AS Integer = 2
> DIM m_ButHeight AS Integer = 128
> DIM m_ButWidth AS Integer = 128
>
> WHILE m_butcnt < m_MaxBut
>
>   FOR m_Colcnt = 0 TO m_MaxCol - 1
>     m_button = NEW Button(ScrollView1)
>     WITH m_button
>     .x = (m_Colcnt * (m_ButWidth + m_Colgap))
>     .y = (m_Rowcnt * (m_ButHeight + m_Rowgap))  
>     .Height = m_ButHeight
>     .Width = m_ButWidth
>     .Text = m_Rowcnt & ", " & m_Colcnt
>   
>     END WITH 
>      
>     
>     m_butcnt += 1
>     IF m_butcnt >= m_MaxBut THEN 
>       BREAK 
>     ENDIF 
>   NEXT 
>
>   m_Rowcnt += 1
>
> WEND 
>
> my problem now is how to set the click action and how to know which button
> is clicking
>
>
>
>   

Use this instead:

m_button = NEW Button(ScrollView1) AS "MyButton"

Set the .Tag property to something unique:

.Tag = iUnique

And then catch the clicks with:

PUBLIC SUB MyButton_Click()
  Message.Info("Clicked : " & LAST.tag)
END

Regards,
Ron_2nd.




More information about the User mailing list