Я новичок в FLTK и C++. Мне нужна помощь в том, как заставить события работать. На других языках вы создаете кнопку и определяете функцию, которая будет обрабатывать событие с кнопок 1 и 2 в разных функциях, когда пользователь нажимает на него. Как добавление прослушивателя событий в button1 и его отображение на button1_click().Отображение событий FLTK/многопоточность
Это код из многопоточной среды. Мне интересно, как я могу прослушивать клики с кнопок 1 и 2 и обрабатывать их правильно.
Кроме того, с этой конструкцией я планирую иметь отдельные данные обновления потока в графическом интерфейсе каждые 200 миллисекунд в цикле. Если я вызываю блокировку и разблокировку в этом цикле, возможно ли, что это может вызвать исключение?
Спасибо!
#pragma once
#include <Fl.H>
#include <Fl_Window.H>
#include <Fl_Button.H>
#include <Windows.h>
class MGui
{
public:
Fl_Window* window;
Fl_Button* button1;
Fl_Button* button2;
static MGui &i()
{
static MGui sMGui;
return sMGui;
}
static void init()
{
i();
DWORD dwThreadId;
CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE) run, (LPVOID) 0, NULL, &dwThreadId);
}
static DWORD_PTR WINAPI run(void *theParam)
{
i().window = new Fl_Window(100, 100, 340, 180, "Window");
i().button1 = new Fl_Button(10, 10, 50, 24, "Button1");
i().button2 = new Fl_Button(10, 44, 50, 24, "Button2");
i().window->end();
i().window->show();
Fl::run();
return 0;
}
};