public ColumnControl(VirtualListView view) { mView = view; GripperWidth = 8; this.HasWindow = false; this.ExposeEvent += new ExposeEventHandler(TheExposeEvent); // need an additional EventBox, because the underlaying Gtk.Fixed widget don't receive and handle some possible events // this is one more suspicious behaviour of GTK // as you can see, the mouse buttons will be received by the EventBox widget, // but the mouse motion received by Fixed widget enabled by the EventBox ... EventBox = new EventBox(); EventBox.Events |= Gdk.EventMask.ButtonPressMask | Gdk.EventMask.ButtonReleaseMask | Gdk.EventMask.PointerMotionMask | Gdk.EventMask.LeaveNotifyMask; EventBox.ButtonPressEvent += new ButtonPressEventHandler(TheButtonPressEvent); EventBox.ButtonReleaseEvent += new ButtonReleaseEventHandler(TheButtonReleaseEvent); EventBox.LeaveNotifyEvent += new LeaveNotifyEventHandler(TheLeaveNotifyEvent); EventBox.VisibleWindow = false; // must not drawn itself this.Add(EventBox); EventBox.ShowAll(); }
public ColumnControl(VirtualListView view) { mView = view; GripperWidth = 8; this.HasWindow = false; this.ExposeEvent += new ExposeEventHandler(TheExposeEvent); // need an additional EventBox, because the underlaying Gtk.Fixed widget don't receive and handle some possible events // this is one more suspicious behaviour of GTK // as you can see, the mouse buttons will be received by the EventBox widget, // but the mouse motion received by Fixed widget enabled by the EventBox ... EventBox = new EventBox(); EventBox.Events |= Gdk.EventMask.ButtonPressMask | Gdk.EventMask.ButtonReleaseMask | Gdk.EventMask.PointerMotionMask | Gdk.EventMask.LeaveNotifyMask; EventBox.ButtonPressEvent += new ButtonPressEventHandler(TheButtonPressEvent); EventBox.ButtonReleaseEvent += new ButtonReleaseEventHandler(TheButtonReleaseEvent); EventBox.LeaveNotifyEvent += new LeaveNotifyEventHandler(TheLeaveNotifyEvent); EventBox.VisibleWindow = false; // must not drawn itself this.Add(EventBox); EventBox.ShowAll(); }