1
我有一個非常大的Gtk::EventBox
在Gtk::ScrolledWindow
。
那一刻我做grab_focus()
在我的Gtk::EventBox
,
Gtk::ScrolledWindow
滾動到頂部的Gtk::EventBox
。Gtk :: ScrolledWindow禁用滾動到重點兒童
如何禁用此行爲?
我有一個非常大的Gtk::EventBox
在Gtk::ScrolledWindow
。
那一刻我做grab_focus()
在我的Gtk::EventBox
,
Gtk::ScrolledWindow
滾動到頂部的Gtk::EventBox
。Gtk :: ScrolledWindow禁用滾動到重點兒童
如何禁用此行爲?
Gtk::EventBox
不繼承Gtk::Scrollable
和爲此得到了Gtk::Viewport
包裹,當它被添加到一個Gtk::ScrolledWindow
。
要禁用滾動到集中的孩子,你需要改變focus_hadjustment
/focus_vadjustment
//Disable scroll to focused child
auto viewport = dynamic_cast<Gtk::Viewport*>(m_scrolled.get_child());
if (viewport) {
auto dummy_adj = Gtk::Adjustment::create(0,0,0);
viewport->set_focus_hadjustment(dummy_adj);
viewport->set_focus_vadjustment(dummy_adj);
}