[Gambas-user] Finding the Draw event name of controls not in gb.form or gb.gu.base

gian bagoneo at libero.it
Thu Dec 22 14:11:43 CET 2022


I'm not familiar with the subject, but because the container class is 
not enough, what do you need to do with HBox?

Regards

Gianluigi

Il 22/12/22 13:48, Bruce Steers ha scritto:
> I found this way...
> 
> Dim sClass As String = "Label"
>    For c As Integer = 0 To Classes[sClass].Symbols.Max
>      Dim sName As String = Classes[sClass].Symbols[c]
>      If InStr(sName, "_") > 1 Then Print sName
>    Next
> 
> I guess that's all that can be done?
> BruceS
> 
> 
> On Thu, 22 Dec 2022 at 12:21, Bruce Steers <bsteers4 at gmail.com 
> <mailto:bsteers4 at gmail.com>> wrote:
> 
> 
>     I have figured out a way to modify controls by simply making a class
>     of the same name and overriding the Draw event.
> 
>     For example Label.class
>     I make a class called Label.class
>     Then by looking at the gb.gui.base/Label.class source i can see that
>     the Draw event is called UserControl_Draw()
>     So in my Label.class I can do the following example to add a
>     gradient background...
> 
>     ' Gambas class file
> 
>     Export
> 
>     Public Sub UserControl_Draw()
> 
>        Paint.Rectangle(0, 0, Me.W, Me.h)
>        Paint.Brush = Paint.LinearGradient(0, 0, 0, Me.H, [Color.Yellow,
>     Color.Red], [0, 1])
>        Paint.Fill
>        'Paint.Restore
>        Paint.Background = Me.Foreground
> 
>        Super.UserControl_Draw
> 
>     End
> 
>     That overrides UserControl_Draw, does my thing, then runs the
>     Super.UserControl_Draw
> 
>     Now my question is for if i want to the a similar thing to say
>     HBox.class
> 
>     I cannot find HBox.class to find the name of the Draw event to
>     override it.
> 
>     Is it possible to find the event method names of a native control?
> 
>     Many thanks
>     BruceS
> 
> 
> 
> ----[ http://gambaswiki.org/wiki/doc/netiquette ]----



More information about the User mailing list