2017-01-23 3 views
-2

Я создал кнопку, которая при нажатии будет открывать новое окно через обратный вызов, но когда эта кнопка нажата, ничего не происходит, но когда она отпущена, она мигает в новом окне и не позволяет мне чтобы увидеть содержимое в новом окне. Пожалуйста, любая помощь будет оценена по достоинству.Новое окно не открывается в fltk с обратным вызовом кнопки

Обратный вызов

//Callback for advanced search 
static void ad_cb(Fl_Button *theButton, void*) 
{ 
    Fl_Window adw (10,10,600,400); 
    Fl_Button adcc (30,40,120,20,"Advanced Search"); 
    adcc.tooltip ("Make advanced search"); 
    adw.show(); 


} 

Кнопка

Fl_Button ad (30,460 + 40,120,20,"Advanced Search"); 
    ad.tooltip ("Make advanced search"); 
    ad.callback((Fl_Callback*)ad_cb); 
+1

Предоставьте [mcve]. –

ответ

1

Деструктор вызывается как только функция выходов. Вот почему вы просто видите вспышку. Измените его на

//Callback for advanced search 
static void ad_cb(Fl_Button *theButton, void*) 
{ 
    Fl_Window* adw = new Fl_Window (10,10,600,400); 
    Fl_Button* adcc = new Fl_Button (30,40,120,20,"Advanced Search"); 
    adcc->tooltip ("Make advanced search"); 
    adw->show(); 
} 

Вы можете закрыть окно, нажав x в верхнем углу.

+0

Большое спасибо за ур ответ, он решил мою проблему, но, пожалуйста, я хотел бы, чтобы главное окно не работало, пока окно, вызванное кнопкой, не закрыто. – Maxfurry

+0

Сделайте это модальным - см. Http://stackoverflow.com/questions/25805938/создать-пользовательскую-FLTK-диалог-модальное окно – cup

Смежные вопросы