ShellExecute abre la aplicación correspondiente, es decir, crea una instancia nueva de la misma. Si no deseamos crear otra instancia, no sirve ShellExecute. En este caso deberás estudiar como abre archivos la aplicación en cuestión para realizarlo tu (si admite parámetros, método de comunicación, simular teclas rápidas...)
Si la aplicación admite parámetros de ejecución y estos permiten abrir el fichero, que es lo habitual, un truco puede ser usar
CreateProcess para abrir la aplicación pesándole el parámetro adecuado para luego integrar su ventana en tu panel. Cada vez que quieras cargar un archivo nuevo, cierras la aplicación y repites el proceso. En esto también podrías usar ShellExecute pero te da menos control sobre el proceso creado. Este sistema puede servir si la aplicación no tarda mucho en abrir, en caso contrario debes investigar los modos ce comunicarte con ella.
Saludos.