Зацените уродливость конструкции:
От: DiKeert  
Дата: 20.08.08 19:22
Оценка:
Пишу сейчас для себя и для общего изучения Win32 API небольшую библиотеку для рисования окон.
И хочется сделать так, что бы окно — это был производный класс от библиотечного.
И еще хочется, что бы методы этого класса можно было регистрировать в качестве обработчиков
сообщений Windows.

Пока пришел к такой идее:

TestWindow *wnd = new TestWindow(L"My Super Window");
Application app = Application(wnd);
/*
Регистрируется обработчик события.
Берется указатель на метод класса.
Приводится к базовому типу. И записывается в структуру-список обработчиков.
Потом WndProc ее вызовет из этой таблицы.
*/
app.registrySlot( (void (Widget::*)()) (&TestWindow::whenWindowClose), ON_CLOSE); 
app.registrySlot((void (Widget::*)())(&TestWindow::whenWindowPaint), ON_PAINT);    
return app.run();


Это конечно круто, но может кто подскажет вариант по красивше?

Названия классов (некоторых) слегка Qt-шные — привычка =).
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.