Jump to content
Claris Engage 2025 - March 25-26 Austin Texas ×

This topic is 8113 days old. Please don't post here. Open a new topic instead.

Recommended Posts

Posted

Is there anyway to specify that a global is a constant... doesn't need to be recomputed... and thus doesn't need to be updated on screen?

Or, is there anyway to specify in a layout that you don't want the value of a field updated?

WHY DO I ASK?

I am using one of the very nice-looking OSX-like templates, which have tab-bars that have that cool aqua shading. However, by using a field for the tab labels (for maintainability across many files), that results in needing to have transparent fields (so that the fancy tab shading shows through). But transparent fields cause redraw flashing.

In this case it is silly for FMP to bother redrawing the tab labels... they aren't going to change while the program is running... but, of course, FMP doesn't know that. But if I could tell it either that "this doesn't change" or "don't bother updating this", then I could stop those redraws and the ugly flash.

Is there a way?

Thanks!!

Posted

Is there anyway to specify that a global is a constant... doesn't need to be recomputed...
I'm not clear from this, whether your labels are global fields or calculating fields - but global fields (perhaps set/updated via a start-up script if at all) will not 'recalculate'.

Notwithstanding this, you might like to try placing your button lables on the layouts as merge text objects, rather than as transparent fields. Merge text on layouts is handled quite differently in screen redraws.

Posted

I'm not clear from this, whether your labels are global fields or calculating fields - but global fields (perhaps set/updated via a start-up script if at all) will not 'recalculate'.

Notwithstanding this, you might like to try placing your button lables on the layouts as merge text objects, rather than as transparent fields.

Okay, imprecise language on my part...

I am using merge text for the labels of my tab buttons. The text object is formatted with transparent background so that the pretty aqua tab graphics show through. The field being merged is a Global Text field. It doesn't get re-computed, of course; but the merge text gets re-computed from the Global Text field (in case someone had changed it) and then gets redrawn. I'd like to prevent the need for redraws by either telling it not to recompute the merge text OR by telling it that the Global Text field will never change (so it doesn't need to recompute the merge text). Any way?

Merge text on layouts is handled quite differently in screen redraws.

How so? Seems to be exactly the same to me, now that I realized that *transparent* background on either field or merge text makes a huge difference in redraws. But I'm sure I'm missing things.

Thanks.

Posted

Try formatting the field on the layout to "not to allow entry".

The fields are formatted "not to allow entry" (where they are fields); in other cases they are merge text, so they couldn't allow entry. But in any case, that wouldn't change whether they are re-drawn... but it does prevent them from drawing stupid when you go into input mode... so, its definitely good advice.

Posted

To FileMaker: (do they read these forums? surely, they do)

Please make the change such that it checks if the text has changed in a merged text; if not, then don't redraw. If so, then do as now. That would get rid of the vast majority of flashing.

Thanks.

Posted

Problems with flashing vary between versions, platforms and even OS versions. I've had dbs which were fine in development, but had problems on some client machines.

Given that you're using global fields and merge text already and still have problems, I suggest that the next thing to consider might be replacing your button/label combos with raster/bitmap rendered objects.

If you've got a suitable graphics application on hand you could use that. If not a couple of other 'tricks' folks use are:

1. Paste the grouped objects into a different version of FMP (if you have access to one) - often pasting between versions renders objects.

2. take a screen shot of the solution running in browse mode, and cut and paste from that.

One thought though, is that if you decide to use rendered buttons but also want the solution to still render crisply at all magnification/zoom levels, you might want to render the buttons/text at 400% and scale it down, so that when enlarged it will still appear at full screen resolution.

Posted

That's a good idea... rather than having my globals store the text for the tab labels, I could have them store the graphic for the tab which includes the label. Then I can use container fields for the tabs... containers that can be opaque, and thus not need flashy redraw. In that way I avoid the flashing, but still keep the maintainability of being able to define the labels once for all my layouts across all my files.

Cool, thanks! grin.gif

This topic is 8113 days old. Please don't post here. Open a new topic instead.

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.