Beispiel #1
0
    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);
    }
Beispiel #2
0
 public static extern bool RemoveWindowSubclass(IntPtr hWnd, wndProc pfnSubclass, IntPtr uIdSubclass);
Beispiel #3
0
 public static extern bool SetWindowSubclass(IntPtr hWnd, wndProc pfnSubclass, IntPtr uIdSubclass, IntPtr dwRefData);