fbrowse1.pp 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. { This demo shows the use of a browser and fl_call_object_callback. }
  2. program fbrowse1;
  3. uses xforms;
  4. var
  5. form : PFL_FORM;
  6. br, but : PFL_OBJECT;
  7. procedure load_file(ob : PFL_OBJECT; arg : longint);cdecl;
  8. begin
  9. if (fl_load_browser(br,fl_show_input('Filename to load',''))<>0) then
  10. fl_add_browser_line(br,'NO SUCH FILE!');
  11. end;
  12. procedure set_size(ob : PFL_OBJECT; arg : Longint);cdecl;
  13. begin
  14. fl_set_browser_fontsize(br, arg);
  15. end;
  16. var obj : PFL_OBJECT;
  17. begin
  18. fl_initialize(@argc, argv, 'FormDemo', nil, 0);
  19. form := fl_bgn_form(FL_UP_BOX,130,100);
  20. br := fl_add_browser(FL_NORMAL_BROWSER,5,5,95,90,'');
  21. but := fl_add_button(FL_NORMAL_BUTTON,105,5,20,8,'Exit');
  22. obj := fl_add_button(FL_NORMAL_BUTTON,105,75,20,8,'Load');
  23. fl_set_object_callback(obj,PFL_CALLBACKPTR(@load_file),0);
  24. obj := fl_add_lightbutton(FL_RADIO_BUTTON,105,60,20,8,'Small');
  25. fl_set_object_callback(obj,PFL_CALLBACKPTR(@set_size),FL_SMALL_SIZE);
  26. fl_call_object_callback(obj);
  27. fl_set_button(obj,1);
  28. obj := fl_add_lightbutton(FL_RADIO_BUTTON,105,50,20,8,'Normal');
  29. fl_set_object_callback(obj,PFL_CALLBACKPTR(@set_size),FL_NORMAL_SIZE);
  30. obj := fl_add_lightbutton(FL_RADIO_BUTTON,105,40,20,8,'Large');
  31. fl_set_object_callback(obj,PFL_CALLBACKPTR(@set_size),FL_LARGE_SIZE);
  32. fl_end_form();
  33. fl_clear_browser(br);
  34. fl_add_browser_line(br,'LOAD A FILE.');
  35. fl_scale_form(form, 4.0, 4.0);
  36. fl_show_form(form,FL_PLACE_FREE,FL_FULLBORDER,'Browser');
  37. repeat
  38. obj := fl_do_forms;
  39. until obj = but;
  40. fl_hide_form(form);
  41. end.