09-25-2009 01:12 PM
I have a VI that uses a picture control that resizes as the window resizes. The problem is, the image erases most of itself when it resizes. I've deduced that this occurs because I have Erase First unselected. After the resize, only the last draw remains visible. See the attached example to better understand.
I'm wondering if there is a way to get it to remember. Or a way to get the picture data, so I can "redraw" it after any resize, without actually redrawing.
Any suggestions? Thanks
Solved! Go to Solution.
09-25-2009 01:16 PM
09-25-2009 01:28 PM - edited 09-25-2009 01:29 PM
09-25-2009 01:36 PM
09-25-2009 01:48 PM - edited 09-25-2009 01:49 PM
Darin.K wrote:
In that case I would build an array of pictures, wire that array to concatenate strings and wire that to the picture control. You could use a local variable to update the picture in the loop (unselect Erase First) if you want to see the action unfold).
This works, but it's still slow (not nearly as slow as the shift registers) in my main app. I'm going to see if I can't trim down the additional draws.
Where the heck did you come up with using concatenate strings?
09-25-2009 01:52 PM
You'll have to find the balance between performance (no redraws) and usability (many redraws).
Concatenate Strings was my second VIOTD, but since it was still in the experimental phase it is buried in the Breakpoint Thread.
09-25-2009 01:59 PM
09-25-2009 02:08 PM
So, as an update. In my actual application these pictures are polar graphs. And after thinking about it I realized I was redrawing the grids and labels every time (over 250). So I trimmed down all of these redaws. I'm still plotting over 250 images though. The images are now just really thinned down.
Using the concatenate strings method the drawing is really fast, but the resizing takes about 5 seconds.
Using the shift registers the drawing takes >5 seconds and the resizing takes about 5 seconds still.
09-25-2009 02:15 PM
09-25-2009 02:22 PM