LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

redraw front panel

Hi,
 
I have an application MDI. I have a vi (the parent) and another vi (the child) that is opened when I select an option of the menu parent.
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.
 
Thanks,
 
Also, I have used the DeferPanUpdts property attached to Panel property and it doesn't work.
 
ToNi.
0 Kudos
Message 1 of 10
(5,979 Views)

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

0 Kudos
Message 2 of 10
(5,963 Views)

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?


___________________
Try to take over the world!
0 Kudos
Message 3 of 10
(5,957 Views)

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...


Certified Professional Instructor
Certified LabVIEW Architect
LabVIEW Champion

"... after all, He's not a tame lion..."

For help with grief and grieving.
0 Kudos
Message 4 of 10
(5,952 Views)
Hi Mike,
 
We started a series of threads in the "Breakpoint" that lets us all stay current on bugs. The most recent can be found here.
 
 
I do not recall having heard of this issue (nested sub-panels) previously.
Is it reported?
Do you have an example that you would like to share?
How are you working around this issue?
 
It sounds like the sub-paneled VI has to track if it is visable or be otherwise notified.
 
Ben
Retired Senior Automation Systems Architect with Data Science Automation LabVIEW Champion Knight of NI and Prepper LinkedIn Profile YouTube Channel
0 Kudos
Message 5 of 10
(5,940 Views)


@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.

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:
Also, I have used the DeferPanUpdts property attached to Panel property and it doesn't work.

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?
0 Kudos
Message 6 of 10
(5,938 Views)
Hi,

I attach you a piece of my example. You have to lauch DS_Client_Main.vi (This is the main). The problem is when from my DS_Client_Main.vi (the main application) I select Configurar->Configuració paràmetres from the menu bar and it opens but it no redraws very well the vi opened (DS_Client_Configuration_defecte.ini) and it goes blocked, you must minimize it and then maximize again.

I have windows XP SP2 and LV 7 Express.

I have tested it in a windows 2000 SP4 with LV 7 Express and also do the same.

Thanks to everybody for helping me, I need help please.

ToNi.

PD.: The example I attach here is in LV 7 Express.
0 Kudos
Message 7 of 10
(5,935 Views)
Sorry,

Here my example in LV 7 Express,

ToNi.
0 Kudos
Message 8 of 10
(5,934 Views)

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...


Certified Professional Instructor
Certified LabVIEW Architect
LabVIEW Champion

"... after all, He's not a tame lion..."

For help with grief and grieving.
Message 9 of 10
(5,930 Views)

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.


___________________
Try to take over the world!
0 Kudos
Message 10 of 10
(5,921 Views)