public NativeMenu(IntPtr handle, WindowWrapper Window, UpdateMenu MenuConstructor = null) { this.handle = handle; this.Window = Window; this.MenuConstrucor = MenuConstructor; eventHandler = new wndProc(MenuProc).Invoke; WndProcHandler = GCHandle.Alloc(eventHandler); Subclassed = NativeMethods.SetWindowSubclass(handle, (wndProc)WndProcHandler.Target, WndProcId, IntPtr.Zero); InitMenu(handle); //IntPtr buffer = Marshal.AllocHGlobal(200); //GetWindowText(handle, buffer, 200); //Window.Caption = Marshal.PtrToStringAnsi(buffer); //var ctl = new Win32Window(handle); }
public static extern bool RemoveWindowSubclass(IntPtr hWnd, wndProc pfnSubclass, IntPtr uIdSubclass);
public static extern bool SetWindowSubclass(IntPtr hWnd, wndProc pfnSubclass, IntPtr uIdSubclass, IntPtr dwRefData);