[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Opacity not working in Form_Open (gtk)


On Tue, 15 Apr 2025 at 13:12, Bruce Steers <bsteers4@xxxxxxxxx> wrote:

>
>
> On Tue, 15 Apr 2025 at 12:50, Benoît Minisini <
> benoit.minisini@xxxxxxxxxxxxxxxx> wrote:
>
>> Le 15/04/2025 à 13:15, Bruce Steers a écrit :
>> > odd.  suddenly setting something like Me.Opacity = 85 in Form_Open has
>> > stopped working.
>> >
>> > seems to work okay if using it in Form_Show()
>> >
>> > But also it seems if you have set it in Form_Open then set it again in
>> > Form_Show it does not change (i guess because it's already 85 but
>> > showing solid)
>> >
>> > that's with gtk3
>> >
>> > qt is having other problems with setting Form.Opacity on program load.
>> > it does not set in Open or Show.
>> > well it does not show, seems it sets to 1 less than the chosen value.
>> > Ie..
>> > Me.Opacity = 85
>> > Print Me.Opacity
>> > shows 84 value but object is still solid.
>> > I can set manually only be doing this...
>> >
>> > Public Sub btnSetOpacity_Click()
>> >
>> >    Me.Opacity = 100
>> >    Me.Opacity = 85
>> >
>> > End
>> > then qt shows opacity (albeit 84, 1 value less than chosen)
>> >
>> > Respects
>> > BruceS
>> >
>>
>> Mmm... I'm not sure that setting the opacity after the window has been
>> shown will work with all window managers.
>>
>> --
>> Benoît Minisini.
>
>
> I am finding quite the opposite.
> I am able to change it once the program has loaded.  (for example with a
> slider)
>
> Trying to set it before the window is shown is where the troubles are.
> (it used to work okay, something must have changed)
>

I know there is a WM issue with setting Form.Transparency after loading but
i thought Form.Opacity was okay to use any time.

some additional test results..

Setting Form.Opacity in the IDE no longer works with GTK+ or QT5/6

Using a Timer to set it after window opens works on all tool kits
Eg.
Private $hTmr As Timer

Public Sub Form_Open()
  $hTmr = New Timer As "TMR"
  $hTmr.Delay = 0
'  $hTmr.Start
End

Public Sub TMR_Timer()
  $hTmr.Stop
  Me.Opacity = 85
End

Respects
BruceS

References:
Opacity not working in Form_Open (gtk)Bruce Steers <bsteers4@xxxxxxxxx>
Re: Opacity not working in Form_Open (gtk)Benoît Minisini <benoit.minisini@xxxxxxxxxxxxxxxx>
Re: Opacity not working in Form_Open (gtk)Bruce Steers <bsteers4@xxxxxxxxx>