I am calling ProcessSystemEvents, ProcessDrawEvents and the speal of them, from the correct thread. Here is a example of what my code looks like:
//Convert Data before loading
if (!CreateProcess(NULL,path,NULL,NULL,FALSE,0,0,NULL, &si,π))
....
WaitForSingleObject( pi.hProcess, INFINITE );
CloseHandle( pi.hProcess );
CloseHandle( pi.hThread );
ProcessDrawEvents();
ProcessSystemEvents();
//Load the converted Data
...
ProcessDrawEvents();
ProcessSystemEvents();
It seems clear to me that the panel is not recieving a repaint message when it should be. What I really need to know is how to send I can force a reapaint none of the follwing work (as the next line of code in the example)
DisplayPanel(..);
SendMessage(GetCviWindow(), WM_PAINT
, 0, 0);
SendMessage(GetFocus(), WM_PAINT, 0, 0);
SendMessage(GetCviWindow(), WM_PRINTCLIENT, 0, 0);
SendMessage(GetFocus(), WM_PRINTCLIENT, 0, 0);