Page 1 of 1

PostPosted: Wed Aug 11, 2004 3:23 pm
by mmankows
I have problem with PushButton relocation:

This is the code:
handler pbTesting.onselect() {
pbTesting.visible = false;

pbTesting.x = pbTesting.x + 4;
pbTesting.y = pbTesting.y + 4;

pbTesting.visible = true;

When button is moved the old lines do not get erased.
What should I do?

PostPosted: Thu Aug 12, 2004 1:44 am
by dewey
Setting visible to false on a pushbutton does not erase the border of the control - this is either a bug in the OS or a very interesting and hard to explain "feature" of the OS. In the next version of OrbForms, calling UIForm.redraw() would fix this. In the current version, you will need to manually erase the square around the button.

PostPosted: Thu Aug 12, 2004 10:36 am
by mmankows
This problem affects only push button. The regular button is fine.

<blockquote id="quote"><font size="1" face="Verdana, Arial, Helvetica" id="quote">quote:<hr height="1" noshade id="quote"><i>Originally posted by dewey</i>
<br />In the current version, you will need to manually erase the square around the button.
<hr height="1" noshade id="quote"></blockquote id="quote"></font id="quote">

What is the simplest way to do it?

PostPosted: Thu Aug 12, 2004 12:48 pm
by dewey
Use Draw.rect to draw a background-colored rectangle 1 pixel larger than the push button on each side.

PostPosted: Tue Jan 17, 2006 2:37 am
by dlinder
Any approximate date on the next release?

I can follow the advice to hide the border, but that doesn't seem to leave me a way to erase the rectangle when I want to show the buttons again.

I tried placing a borderless button on top of the push buttons and showing or hiding it, but that doesn't work.

PostPosted: Wed Jan 18, 2006 6:50 am
by dewey
UIForm.redraw was actually implemented long ago (as this thread is from 2004).

PostPosted: Wed Jan 18, 2006 11:42 am
by dlinder
I tried the redraw. It has no effect.

I have coded the following:

pushButton.visible = false;

It works just the same without the redraw. It simply clears the text.

What am I missing?

Is there something else that needs to be done?

PostPosted: Wed Jan 18, 2006 1:42 pm
by nmc
try fmrEdit.redraw(0x800) for better effect

PostPosted: Thu Jan 19, 2006 11:28 am
by dlinder
I don't understand what the purpose is for the integer parameter. I know the help says it can be checked through the event objects code property, but I have no idea why I'd do that.

I've tried any number of different values in the code parameter and none of them (the 0x800 included), have any effect on removing the border from the push buttons.

PostPosted: Tue Jan 31, 2006 2:05 am
by dlinder
I'm missing something very obvious here, but I just can't see it.

I was trying to hide the push buttons using a the draw.rect function, and it wasn't doing anything.

Just as a test, I tried to draw a rectangle over the whole screen in the onload and ondraw handlers. It didn't do anything.

I copied code I found on the board. It did nothing.

Below is the code that I found on the board and modified.
Below that is code from the board.

Why doesn't this work?

handler frmVehicle.onopen() {
Draw draw;

draw.rect(clrFG, 0, 0, 160, 160, 0);

handler mainForm.onopen() {
Draw draw;

draw.rect(clrFG, 0, 0, 160, 160, 0);

PostPosted: Tue Jan 31, 2006 5:11 am
by dewey
Drawing in the onopen handler has no effect, since the form itself has not been drawn yet. When running OrbFormsRT-debug.prc, you will get errors when you attempt to do this.

If you set the visible property to false in the onopen handler, the control should not be drawn in the first place.

PostPosted: Tue Jan 31, 2006 11:26 am
by dlinder
The problem was that the draw doesn't work on my emulator.

It works fine on my Palm.

Sorry, and thanks.