我正在使用FLTK。我有一個帶有各種按鈕的窗口,用戶可以點擊執行一些操作。在我的int main()我有一個switch語句來處理所有這些。當用戶點擊退出switch語句設置像這樣:FLTK關閉窗口
case Exit_program:
cout << "save files and exit\n";
do_save_exit(sw);
這正好與兩個按鈕是(出口)和NO(不退出)創建一個退出確認窗口的do_save_exit功能。我得到了yes按鈕來工作,退出程序,但沒有按鈕意味着我應該隱藏確認窗口。這是如下功能:
void yes(Address addr, Address)
{
exit(0);
}
void no(Address addr, Address)
{
}
void do_save_exit(Window& w)
{
Window quit(Point(w.x()+100, w.y()+100), 250, 55, "Exit confirmation");
Text conf(Point(15,15),"Do you really want to save and exit?");
Button yes(Point(60, 20),35,30,"Yes",yes);
Button no(Point(140, 20),35,30,"No",no);
quit.attach(conf);
quit.attach(yes);
quit.attach(no);
wait_for_main_window_click();
}
的問題是,當我點擊任何按鈕,它會作廢沒有,但我不能從那裏去任何地方。我只想做quit.hide(),但no函數不會看到退出窗口(超出範圍)。我應該如何繼續?謝謝
P.S:我想過如何使用指向退出窗口的指針,然後使用指針在no函數中退出窗口,但我不確定如何完全做到這一點。
真棒。非常感謝。把我的頭髮拿出來找出這一個。 – Richard