FLTK를 사용하고 있습니다. 나는 사용자가 어떤 행동을 수행하기 위해 클릭 할 수있는 다양한 버튼이있는 창을 가지고있다. 내 int main()에서 나는 이들 모두를 다루기 위해 switch 문을 가지고있다.FLTK 창 닫기
case Exit_program:
cout << "save files and exit\n";
do_save_exit(sw);
이 두 개의 버튼 예 (종료)없이 (하지 출구)와 종료 확인 창을 생성하는 do_save_exit 기능 간다 : 사용자가 종료를 클릭하면 스위치 문은 설정과 같이합니다. 예 버튼이있어 프로그램을 종료하지만 버튼이 없다는 것은 확인 창을 숨겨야 함을 의미합니다. 이것은 다음과 같은 기능입니다 :
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 : 포인터를 사용하여 종료 창을 사용한 다음 포인터를 사용하여 함수를 사용하지 않고 창을 종료하는 방법에 대해 정확히 설명하지는 않았습니다.
멋진 기능 : 정말 고마워. 이 머리카락을 알아 내기 위해 머리를 찢어 내고 있었다. – Richard