Refreshing/Redrawing Controls During MAXScript Execution

I have a MAXScript tool that makes use of a dialog that contains a multiListBox control. I’d like to force this control to refresh/redraw while the tool is performing a task (i.e., when MAXscript code from the tool is executing). This seems like a trivial task, but I haven’t been able to find a means of forcing a UI to update while a tool is running (at least when using “vanilla” MAXScript). Is this possible, or should I be using dotNet in some capacity in order to achieve this behavior?

MaxScript is single threaded. Updating a UI while also performing another task is going to prove to be hard/impossible.

Thanks, Jeff. I was afraid that this was going to be the case. The tool in question batch processes files. In previous versions of Max (prior to v2011?), the selection in a multiListBox control within the tool would update as the tool iterated through files. Alas with Max 2011, the UI does not update when the tool is running. This behavior provided a convenient means to track the tool’s progress. I might try to restore this “progress indication” functionality with a progress bar. Thanks again. :):

Look up BackgroundWorker examples with .NET in 3ds max.

Thanks, Rob. I haven’t done anything with .NET, in Max or otherwise. After a cursory look in the direction that you suggested, I’m eager to learn more about the possibilities that BackgroundWorker threads afford. In the short term, I’ve found that the following function call seems to prompt the UI to redraw.

windows.processPostedMessages()
http://forums.cgsociety.org/archive/index.php/t-958314.html