Forum: wxRuby Sizers + StaticText

Posted by 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?
Posted by 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
Please log in before posting. Registration is free and takes only a minute.
Existing account (Switch to SSL-encrypted connection)
NEW: Do you have a Google/GoogleMail or Yahoo account? No registration required!
Log in with Google account | Log in with Yahoo account
No account? Register here.