Jump to content

  • Log In with Google      Sign In   
  • Create Account

Awesome job so far everyone! Please give us your feedback on how our article efforts are going. We still need more finished articles for our May contest theme: Remake the Classics

#ActualSaoblol

Posted 07 July 2012 - 10:13 AM

Hi, I'm currently switching my project from WindowForms to WFP, but I'm having problems with rendering into an WPF Image Control.

This is what I do to get the Handle of the Image Control, but instead the scene is rendered across the whole window, not just the specified Image area

[source lang="csharp"]static void InitializeTileEditor() {   WaterScene scene = new WaterScene();   window = new MainWindow();   window.Show();   HwndSource source = (HwndSource)HwndSource.FromVisual(window.image_Viewport);   //IntPtr viewportHandle = new WindowInteropHelper(Application.Current.MainWindow).Handle;   VEngine.Initialize(window, source.Handle, 1280, 720, 60, true);   VEngine.Run(scene); }[/source]

I tried two ways of acquiering the handle, but both had the same result.

Any Ideas how I get the exact handle of the Image Control?

Edit: The handle will be used in the 3D Intialization of SlimDX to create the factory

[source lang="csharp"]factory.SetWindowAssociation(viewportHandle,                                        WindowAssociationFlags.IgnoreAll |                                        WindowAssociationFlags.IgnoreAltEnter);[/source]

#1Saoblol

Posted 07 July 2012 - 10:10 AM

Hi, I'm currently switching my project from WindowForms to WFP, but I'm having problems with rendering into an WPF Image Control.

This is what I do to get the Handle of the Image Control, but instead the scene is rendered across the whole window, not just the specified Image area

[source lang="csharp"]static void InitializeTileEditor() {   WaterScene scene = new WaterScene();   window = new MainWindow();   window.Show();   HwndSource source = (HwndSource)HwndSource.FromVisual(window.image_Viewport);   //IntPtr viewportHandle = new WindowInteropHelper(Application.Current.MainWindow).Handle;   VEngine.Initialize(window, source.Handle, 1280, 720, 60, true);   VEngine.Run(scene); }[/source]

I tried two ways of acquiering the handle, but both had the same result.

Any Ideas how I get the exact handle of the Image Control?

PARTNERS