2016-11-30 6 views
0

버튼을 만들었지 만 버튼을 클릭해도 아무런 변화가 없습니다. 일단 버튼을 클릭하면 하위 창을 종료하고 싶지만 그 작업을 수행하는 방법을 모르겠습니다.Fltk 버튼 콜백

void model(Fl_Widget *, void *) { 
    Fl_Window *head = new Fl_Window(400, 350, "Robot Model: "); 
    Fl_Input *input = new Fl_Input(200, 0, 100, 30, "Name: "); 
    Fl_Input *input1 = new Fl_Input(200, 40, 100, 30, "Part-Number: "); 
    Fl_Input *input2 = new Fl_Input(200, 80, 100, 30, "How much is the Weight: "); 
    Fl_Input *input3 = new Fl_Input(200, 120, 100, 30, "The Cost: "); 
    Fl_Input *input4 = new Fl_Input(200, 160, 100, 30, "Brief Description:   "); 
    Fl_Button *enter = new Fl_Button(150, 200, 100, 30, "Enter"); 
    head->show(); 
    } 

int main(){ 

Fl_Window *win = new Fl_Window(600, 500, "Robot Workshop"); 
Fl_Box *box = new Fl_Box(0, 10, 600, 100, "Welcome to Robot Workshop!"); 
box->box(FL_UP_BOX); 
box->labelsize(36); 
box->labelfont(FL_BOLD + FL_ITALIC); 
box->labeltype(FL_SHADOW_LABEL); 
Fl_Menu_Bar *menu = new Fl_Menu_Bar(0, 0, 600, 25); 
menu->add("Exit/Quit", FL_CTRL + 'v', Quit_CB); 
menu->add("Project Manager/Robot Part/Head", FL_CTRL + 'h', head); 
menu->add("Project Manager/Robot Part/Torso", FL_CTRL + 't', torso); 
menu->add("Project Manager/Robot Part/Arm", FL_CTRL + 'a', arm); 
menu->add("Project Manager/Robot Part/Battery", FL_CTRL + 'b', battery); 
menu->add("Project Manager/Robot Part/Locomotor", FL_CTRL + 'l', locomotor); 
menu->add("Project Manager/Robot Model" ,FL_CTRL + 'w', model); 
menu->add("Beloved Customer/Browse Catalog", FL_CTRL + 'z', catalog); 
menu->add("Beloved Customer/Part Pictures", FL_CTRL + 'v', pic); 
menu->add("Manual", FL_CTRL + 'm', manual_window); 

win->show(); 
return(Fl::run()); 

} 

답변

0

콜백을 원할 경우 콜백 기능을 추가해야합니다. http://www.fltk.org/doc-1.3/common.html

void xyz_callback(Fl_Widget *w, void *data) { 
... 
} 

당신은 당신이 데이터에 좋아 아무것도 전달할 수 있습니다 참조 원래의 형태로 다시 캐스팅. 그런 다음 버튼을 수정하십시오.

button->callback(xyz_callback, &xyz_data);