Forum: wxRuby Sizers + StaticText

Announcement (2017-05-07): www.ruby-forum.com is now read-only since I unfortunately do not have the time to support and maintain the forum any more. Please see rubyonrails.org/community and ruby-lang.org/en/community for other Rails- und Ruby-related community platforms.
5f14bb0f01ab4d14b34500a0802d53a9?d=identicon&s=25 Daniel S. (daniel_s89)
on 2012-09-22 17:39
I've got some Problems with sizers and StaticTexts.

My Code:

@sizer = VBoxSizer.new
@sizer.add_item(StaticText.new(self, -1, "Test"), flag: ALIGN_CENTRE)


Until here, everything is OK, Text appears on screen at the right place.

Now i want to remove this Text and replace it with two others. For this
do the following:

@sizer.remove(0)
@sizer.layout()
@sizer.add_item(StaticText.new(self, -1, "Min"), flag: ALIGN_CENTRE)
@sizer.add_item(StaticText.new(self, -1, "Max"), flag: ALIGN_CENTRE)


Now "Min" and "Max" appear at the right place (Min at the place of
"Test" and "Max" under it), but the old Text "Test" is still in place
and "behind" "Min" visible.

What am i doing wrong? Any ideas?
06f6780c99d4a8dd71f2b474082ea9ce?d=identicon&s=25 Alex Fenton (Guest)
on 2012-09-24 00:09
(Received via mailing list)
hi

On 22/09/2012 16:39, Daniel S. wrote:
>
> @sizer.remove(0)
> @sizer.layout()
> @sizer.add_item(StaticText.new(self, -1, "Min"), flag: ALIGN_CENTRE)
> @sizer.add_item(StaticText.new(self, -1, "Max"), flag: ALIGN_CENTRE)
>
>

I haven't tried, but - you might try calling destroy() on the StaticText
you're deleting. In wxRuby you don't usually need to call this but here
it might be appropriate:

http://wxruby.rubyforge.org/doc/window.html#Window_destroy

And usually, layout() is called after you have finished doing all
changes to the contents of a Sizer.

alex
This topic is locked and can not be replied to.