tags:

views:

2270

answers:

2

Is it possible to Embed a PowerPoint Viewer into a C# Windows Form?

I am currently use the following code:

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;

It shows the viewer on the form but the placement and sizing is wrong. How would one size and place it correctly.

Another option:
I have encountered the Aximp.exe application meant to be used for showing ActiveX controls on the Win Forms in C#. How would I use this with the PPT Viewer?

A: 

See this link. You can also display the ppt in a WebBrowser control. This might also be useful.

danish
I Went with the Web Browser Control Option. Although I had to change some settings for PowerPoint 2007 docs.
Soppus
A: 

Thanks for good links, http://support.microsoft.com/kb/304662 has useful info... That helped me :)

Pasan Indeewara