On 2017-12-26 12:03,
Chris Vine wrote:
If you do prefer signal_button_press_event(), connect your signal handler so it's called before the default handler.On Tue, 26 Dec 2017 10:56:34 +0100 Klaus Rudolph <lts-rudolph gmx de> wrote:The function "signal_button_press_event()" reacts only if I double click the button. Is it possible to react also on a single press event? #include <iostream> #include <gtkmm.h> #include <gtkmm/window.h> class ExampleWindow: public Gtk::Window { Gtk::Button button; public: ExampleWindow(): button("Hallo") { add(button); button.signal_button_press_event().connect( [this]( GdkEventButton* ev)->bool{ std::cout << "Press" << std::endl; return true; }); } }; int main(int argc, char* argv[]) { Gtk::Main kit(argc, argv); ExampleWindow window; window.show_all_children(); Gtk::Main::run(window); return 0; }button-press-event is a GDK event and is concerned principally with mouse buttons. You want the clicked signal. button.signal_button_press_event().connect(......., false); See https://developer.gnome.org/gtkmm-tutorial/stable/sec-xeventsignals.html.en If you connect your signal handler to run before the default signal handler, and your handler returns true, the default handler will not be called. Kjell |