07-08-2005 07:40 AM
07-09-2005 01:50 PM
Hi,
The solution I think of, is the one I always use: SubPanel VI. You can access it: Front Panel -> All Controls -> Containers -> SubPanel.
You can present the child vi in the main VI without calling other front panel to be loaded, and both VIs are always refresh. Read the Help, about how to use it.
Regards,
The Bush-Man
07-09-2005 03:33 PM
What do you mean by "redraw the front panel of my child vi very well"? Can you post a screenshot?
How about programmatically minimizing and restoring the VI (using the FP.State property) as a workaround?
Does the FP update well when a change is made to it, or only after it is minimized?
And if those MDI VIs work well, how about posting them to your original thread in case someone else will want them in the future?
07-09-2005 05:02 PM
If you decide to go the subpanel route (which is an excellent suggestion) there is a bug in LV that can cause problems. Say you have a VI (called A) that has a subpanel that its using to display another VI (called B). If for some reason, A hides or closes its front panel and then later reopens it, when A's front panel reopens B's front panel will not still be in the subpanel. A has to reinsert B into the subpanel before it will again become visible.
Also your child VI isn't by any chance using any ActiveX controls is it? Like maybe, Microsoft's tree control?
Mike...
07-10-2005 10:31 AM
07-10-2005 10:42 AM
First of all, what is your LabVIEW version and OS? How do you "open the child VI"? Does it redraw "not very well" or not at all until you minimize/restore the child panel? Could you post a simple example that demonstrates your problem?
@tonitpp wrote:
When I open the child vi inside the parent, LV doesn't redraw the front panel of my child vi very well. Why? How can I do? But then, when my child vi is opened I minimize it and then I maximize it and LV redraws it well.
In what way does it not work? What are you trying to do with this? Is this a different question or related to the above mentioned problem?
@tonitpp wrote:
Also, I have used the DeferPanUpdts property attached to Panel property and it doesn't work.
07-10-2005 12:05 PM
07-10-2005 12:06 PM
07-10-2005 12:23 PM
I'm assuming that it has been reported. I learned about it through a thread of this forum:
http://forums.ni.com/ni/board/message?board.id=170&message.id=92375&requireLogin=False
There is demo code in the thread.
Mike...
07-10-2005 01:07 PM
The problem is the windows redrawing problem that every windows user has seen - if the window is moved off the screen or if something overlaps the window - the window isn't being redrawn. This seems to have something to do with the way windows updates the display. Maybe the Z order of the child window needs to be set. I checked and saw that this happens even with simpler VIs, which is weird, because I don't remember anything like this the last time we played around with this.
Anyway, the workaround is like I said. Add a FP.State property to the FP.Open property and set it to minimized and add another one at the end and set it to standard and that solves it.