2009-08-11 55 views
11

¿Es posible incrustar un visor de PowerPoint en un formulario de Windows C#?Incrustar PowerPoint Viewer en C# Win Form

Estoy actualmente utiliza el siguiente código:

objApp = new PowerPoint.Application(); 
     //objApp.Visible = MsoTriState.msoTrue; 
     objPresSet = objApp.Presentations; 
     objPres = objPresSet.Open(ppsAction.FileInfo.FullName, MsoTriState.msoTrue, MsoTriState.msoTrue, MsoTriState.msoFalse); 
     objSlides = objPres.Slides; 

     //Run the Slide show 
     objSSS = objPres.SlideShowSettings; 
     objSSS.ShowType = Microsoft.Office.Interop.PowerPoint.PpSlideShowType.ppShowTypeSpeaker; 
     objSSS.LoopUntilStopped = MsoTriState.msoTrue; 
     objSSS.Run(); 

     WindowWrapper handleWrapper = new WindowWrapper(objPres.SlideShowWindow.HWND); 
     SetParent(handleWrapper.Handle, this.ApplicationPanel.Handle); 
     this.ApplicationPanel.Visible = true; 
     objPres.SlideShowWindow.Height = ApplicationPanel.Height; 
     objPres.SlideShowWindow.Width = ApplicationPanel.Width; 
     objPres.SlideShowWindow.Top = 0; 
     objPres.SlideShowWindow.Left = 0; 

Se muestra al espectador en la forma pero la colocación y el tamaño es incorrecto. ¿Cómo se podría clasificar y colocar correctamente?

Otra opción:
me he encontrado con la aplicación Aximp.exe destinado a ser usado para mostrar los controles ActiveX en los formularios de ganar en C#. ¿Cómo usaría esto con el PPT Viewer?

+0

mira esta respuesta. http://stackoverflow.com/a/10271255/1257567 exactamente lo que quieres. – diogopalhais

Respuesta

4

Ver this enlace. También puede mostrar el ppt en un control WebBrowser. This también podría ser útil.

+0

Fui con la opción de control del navegador web. Aunque tuve que cambiar algunas configuraciones para documentos de PowerPoint 2007. – Soppus

1

Para la colocación cambiar el objPres.SlideShowWindow.Top a 10 como ejemplo y objPres.SlideShowWindow.Left a 12, de modo la esquina superior izquierda de la diapositiva habrá al (12,10) donde se mueve a la izquierda horizontal y la parte superior lo mueve verticalmente.