choice.pp 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. { This demo shows the use of choice objects. }
  2. program choice;
  3. uses xforms;
  4. var form : PFL_FORM;
  5. sexobj,childobj,licenceobj,marriedobj,readyobj : PFL_OBJECT;
  6. procedure cb( ob : PFL_OBJECT; data : longint);cdecl;
  7. begin
  8. Writeln ('CallBack: ', fl_get_choice(ob));
  9. end;
  10. procedure create_form;
  11. begin
  12. form := fl_bgn_form(FL_NO_BOX,420,360);
  13. fl_add_box(FL_UP_BOX,0,0,420,360,'');
  14. fl_add_input(FL_NORMAL_INPUT,70,300,320,30,'Name');
  15. fl_add_input(FL_NORMAL_INPUT,70,260,320,30,'Address');
  16. fl_add_input(FL_NORMAL_INPUT,70,220,320,30,'City');
  17. fl_add_input(FL_NORMAL_INPUT,70,180,320,30,'Country');
  18. sexobj := fl_add_choice(FL_NORMAL_CHOICE,70,130,110,30,'Sex');
  19. childobj := fl_add_choice(FL_NORMAL_CHOICE,280,130,110,30,'Children');
  20. licenceobj := fl_add_choice(FL_NORMAL_CHOICE,280,80,110,30,'Licence');
  21. marriedobj := fl_add_choice(FL_DROPLIST_CHOICE,70,80,110,30,'Married');
  22. fl_set_object_callback(marriedobj, PFL_CALLBACKPTR(@cb),0);
  23. readyobj := fl_add_button(FL_NORMAL_BUTTON,150,20,140,30,'Ready');
  24. fl_end_form;
  25. end;
  26. var obj : PFL_OBJECT;
  27. begin
  28. fl_flip_yorigin;
  29. fl_initialize(@argc, argv, 'FormDemo', nil, 0);
  30. create_form;
  31. fl_addto_choice(sexobj,'Male');
  32. fl_addto_choice(sexobj,'Female');
  33. fl_addto_choice(childobj,'Zero|One|Two|Three|Many');
  34. fl_addto_choice(licenceobj,'Yes');
  35. fl_addto_choice(licenceobj,'No');
  36. fl_addto_choice(marriedobj,'Yes');
  37. fl_addto_choice(marriedobj,'No');
  38. fl_show_form(form,FL_PLACE_CENTER,FL_NOBORDER,Nil);
  39. while (obj <> readyobj) do obj := fl_do_forms;
  40. fl_hide_form(form);
  41. end.