fbrowse1.pp 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  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);export;
  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);export;
  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.
  42. {
  43. $Log$
  44. Revision 1.3 2003-10-27 15:48:13 peter
  45. * renamed forms unit to xforms to prevent conflict with Forms
  46. from the LCL
  47. Revision 1.2 2002/09/07 15:42:55 peter
  48. * old logs removed and tabs fixed
  49. Revision 1.1 2002/01/29 17:55:01 peter
  50. * splitted to base and extra
  51. }