C# 클래스 AdvancedLauncher.Tools.Interop.HwndHostEx

This class works around issues with the HwndHost in current WPF versions.
상속: System.Windows.Interop.HwndHost, IKeyboardInputSink
파일 보기 프로젝트 열기: GoldRenard/DMOAdvancedLauncher

공개 프로퍼티들

프로퍼티 타입 설명
AsyncUpdateWindowPosProperty System.Windows.DependencyProperty
CopyBitsBehaviorProperty System.Windows.DependencyProperty
RaiseMouseActivateCommandProperty System.Windows.DependencyProperty

보호된 메소드들

메소드 설명
BuildWindowCore ( HandleRef hwndParent ) : HandleRef
BuildWindowOverride ( HWND hwndParent ) : HWND

Default implementation of BuildWindowOverride, which just creates a simple "STATIC" HWND. This is almost certainly not the desired window, but at least something shows up on the screen. Override this method in your derived class and build the window you want.

DestroyWindowCore ( HandleRef hwnd ) : void
DestroyWindowOverride ( HWND hwnd ) : void

Default implementation of DestroyWindowCore, which just destroys the hosted window. If this is undesirable, override this method and provide alternative logic.

OnWindowPositionChanged ( Rect rcBoundingBox ) : void

WndProc ( IntPtr hwnd, int msg, IntPtr wParam, IntPtr lParam, bool &handled ) : IntPtr
WndProcOverride ( HWND hwnd, WM msg, IntPtr wParam, IntPtr lParam ) : IntPtr

메소드 상세

BuildWindowCore() 보호된 최종 메소드

protected final BuildWindowCore ( HandleRef hwndParent ) : HandleRef
hwndParent System.Runtime.InteropServices.HandleRef
리턴 System.Runtime.InteropServices.HandleRef

BuildWindowOverride() 보호된 메소드

Default implementation of BuildWindowOverride, which just creates a simple "STATIC" HWND. This is almost certainly not the desired window, but at least something shows up on the screen. Override this method in your derived class and build the window you want.
protected BuildWindowOverride ( HWND hwndParent ) : HWND
hwndParent AdvancedLauncher.Tools.Win32.User32.HWND
리턴 AdvancedLauncher.Tools.Win32.User32.HWND

DestroyWindowCore() 보호된 최종 메소드

protected final DestroyWindowCore ( HandleRef hwnd ) : void
hwnd System.Runtime.InteropServices.HandleRef
리턴 void

DestroyWindowOverride() 보호된 메소드

Default implementation of DestroyWindowCore, which just destroys the hosted window. If this is undesirable, override this method and provide alternative logic.
protected DestroyWindowOverride ( HWND hwnd ) : void
hwnd AdvancedLauncher.Tools.Win32.User32.HWND
리턴 void

OnWindowPositionChanged() 보호된 메소드

protected OnWindowPositionChanged ( Rect rcBoundingBox ) : void
rcBoundingBox System.Windows.Rect
리턴 void

WndProc() 보호된 최종 메소드

protected final WndProc ( IntPtr hwnd, int msg, IntPtr wParam, IntPtr lParam, bool &handled ) : IntPtr
hwnd System.IntPtr
msg int
wParam System.IntPtr
lParam System.IntPtr
handled bool
리턴 System.IntPtr

WndProcOverride() 보호된 메소드

protected WndProcOverride ( HWND hwnd, WM msg, IntPtr wParam, IntPtr lParam ) : IntPtr
hwnd AdvancedLauncher.Tools.Win32.User32.HWND
msg WM
wParam System.IntPtr
lParam System.IntPtr
리턴 System.IntPtr

프로퍼티 상세

AsyncUpdateWindowPosProperty 공개적으로 정적으로 프로퍼티

Specifies whether or not to set the window position of the hosted window asynchronously.
HwndHost depends on the LayoutUpdated event to synchronize the position of the HWND with the layout slot. However, when WPF gets into a recursive/nested layout loop, the LayoutUpdated event is not raised. Since we resize the hosted HWND in response to this event, if the hosted HWND contains an HwndSource, that HwndSource will run an immediate layout pass, but the LayoutUpdated event will not be raised. TODO: fix in 4.5?
public static DependencyProperty,System.Windows AsyncUpdateWindowPosProperty
리턴 System.Windows.DependencyProperty

CopyBitsBehaviorProperty 공개적으로 정적으로 프로퍼티

The behavior for handling of the SWP_NOCOPYBITS flag during moving or sizing operations.
Real implementation is HwndHostExtensions.CopyBitsBehaviorProperty
public static DependencyProperty,System.Windows CopyBitsBehaviorProperty
리턴 System.Windows.DependencyProperty

RaiseMouseActivateCommandProperty 공개적으로 정적으로 프로퍼티

Specifies whether or not a HwndHostCommands.MouseActivate command is raised in response to WM_MOUSEACTIVATE.
Real implementation is HwndHostExtensions.RaiseMouseActivateCommandProperty
public static DependencyProperty,System.Windows RaiseMouseActivateCommandProperty
리턴 System.Windows.DependencyProperty