NI TestStand

cancel
Showing results for 
Search instead for 
Did you mean: 

UIMsg_ProgressPercent event handling

Solved!
Go to solution

Hello everyone,

I am a new user of the TestStand software and have a question about the UIMsg_ProgressPercent (and also the UIMsg_ProgressText) event handling in the Full-Featured User Interface example shipped in the TestStand software.

 

There is an example call 'Updating the Status Bar Using UI Messages'. When I open the 'Full-Featured user Interface' example and run the  'Updating the Status Bar Using UI Messages' sequence, I see that the Status Bar display the progress information as expected.

 

My question is, where is the handler of the UIMsg_ProgressPercent event in the Full-Featured User Interface example? From my understanding of the UI Message architecture, the UIMsg_ProgressPercent event is handled by a callback registered through the 'Reg Event Callback' function. But in the 'Configure Event Callbacks.vi' of the Full-Featured User Interface example, I do not see where these events (ProgressPercent and ProgressText) are registered. I must be missing something here in my understanding of the UI Message architecture.

 

Can anybody explain to me where or who the UIMsg_ProgressPercent event handler are in this example?   

 

I am using TestStand 2014 and LabView 2015 version.

 

Thank you for your patience.

 

Yours,

Huck

0 Kudos
Message 1 of 5
(4,606 Views)

Hey Huck,

 

So the Status Bar is an activeX control.  It has the ability to handle several UIMessages depending on which columns are shown.  So the code to do that is located in the ActiveX COM Object.  You do not have the abilty to change it for the status bar.

 

However, you can capture that UIMessage by registering an event callback like you described.  There are two different events where you can capture UIMessages: UIMessageEvent and UserMessage

 

UIMessageEvent is used to capture events that are TestStand events- basically anything before code 10000.  You can read more about it in the TS help but it is a way to intercept the events before the manager controls do.

 

UserMessage is the most commonly used one and captures any event code greater than 10000 (the UserMessageBase). 

 

My theory is tha they are separated this way to avoid your application of having to handle all UIMessages and therefore being bogged down by this.

 

So you can use the UIMessageEvent to capture the ProgressPercent and ProgressText messages and put them on your own custom controls.

 

Hope this helps some,

jigg
CTA, CLA
testeract.com
~Will work for kudos and/or BBQ~
Message 2 of 5
(4,563 Views)

Hello jigg,

thanks for your explaination.

 

According to you, the Full-featured User Interface example implemented the StatusBar as ActiveX control, thefore, the UIMsg_ProgressPercent and UIMsg_ProgressText events are handled in the ActiveX COM object. Is that right?

 

Yours,

Huck

 

0 Kudos
Message 3 of 5
(4,556 Views)
Solution
Accepted by topic author hlim

That is correct!

jigg
CTA, CLA
testeract.com
~Will work for kudos and/or BBQ~
Message 4 of 5
(4,548 Views)

Thank you. That's a great help for my understanding of TestStand.

0 Kudos
Message 5 of 5
(4,528 Views)