123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101 |
- program borderwidth;
- uses xforms;
- type TFD_bwform = record
- bwform : PFL_FORM;
- vdata : pointer;
- ldata : longint;
- done,
- bw_choice,
- bwgroup,
- pmobj : PFL_OBJECT;
- end;
- PFD_bwform = ^TFD_bwform;
- { callbacks for form bwform }
- procedure done_callback(ob : PFL_OBJECT; data : longint);cdecl;
- begin
- { fill-in code for callback }
- halt(0);
- end;
- var
- fd_bwform : PFD_bwform;
- const bws : array[0..7] of longint = (-3,-2,-1,1,2,3,4,5);
- procedure bw_callback(ob : PFL_OBJECT; data : longint);cdecl;
- var bw : longint;
- begin
- bw := bws[fl_get_choice(ob)-1];
- fl_set_object_bw(fd_bwform^.bwgroup, bw);
- { since bwgroup includes the backface, it wipes out the done button}
- fl_redraw_object(fd_bwform^.done);
- fl_redraw_object(fd_bwform^.bw_choice);
- end;
- function create_form_bwform : PFD_bwform;
- var
- obj : PFL_OBJECT;
- fdui : PFD_bwform;
- begin
- new(fdui);
- fdui^.bwform := fl_bgn_form(FL_NO_BOX, 380, 340);
- fdui^.bwgroup := fl_bgn_group();
- obj := fl_add_box(FL_UP_BOX,0,0,380,340,'');
- obj := fl_add_frame(FL_EMBOSSED_FRAME,220,60,135,145,'');
- obj := fl_add_frame(FL_ENGRAVED_FRAME,15,60,185,145,'');
- obj := fl_add_slider(FL_HOR_SLIDER,25,75,160,25,'');
- obj := fl_add_pixmapbutton(FL_NORMAL_BUTTON,305,145,40,35,'');
- fdui^.pmobj := obj;
- obj := fl_add_positioner(FL_NORMAL_POSITIONER,30,225,100,80,'');
- obj := fl_add_counter(FL_NORMAL_COUNTER,25,160,160,25,'');
- obj := fl_add_lightbutton(FL_PUSH_BUTTON,230,100,100,30,'LightButton');
- obj := fl_add_roundbutton(FL_PUSH_BUTTON,230,130,80,33,'Button');
- obj := fl_add_round3dbutton(FL_PUSH_BUTTON,230,152,80,33,'Button');
- fl_set_object_color(obj,FL_COL1, FL_BLUE);
- obj := fl_add_checkbutton(FL_PUSH_BUTTON,230,174,80,33,'Button');
- obj := fl_add_input(FL_NORMAL_INPUT,195,240,160,28,'Input');
- obj := fl_add_valslider(FL_HOR_BROWSER_SLIDER,25,120,160,25,'');
- obj := fl_add_button(FL_NORMAL_BUTTON,230,65,100,30,'Button');
- fl_end_group();
- obj := fl_add_button(FL_NORMAL_BUTTON,270,290,75,30,'Done');
- fdui^.done := obj;
- fl_set_object_callback(obj,PFL_CALLBACKPTR(@done_callback),0);
- obj:= fl_add_choice(FL_NORMAL_CHOICE,105,20,80,25,'Border Width');
- fdui^.bw_choice := obj ;
- fl_set_object_callback(obj,PFL_CALLBACKPTR(@bw_callback),0);
- fl_end_form();
- fdui^.bwform^.fdui := fdui;
- create_form_bwform:= fdui;
- end;
- begin
- { application default. Can be overridden by the command line options }
- fl_set_border_width(-2);
- fl_initialize(@argc, argv, 'FormDemo', nil, 0);
- fd_bwform := create_form_bwform;
- { fill-in form initialization code }
- fl_set_pixmapbutton_file(fd_bwform^.pmobj, 'crab.xpm');
- fl_addto_choice(fd_bwform^.bw_choice,'-3 Pixel|-2 Pixel|-1 Pixel');
- fl_addto_choice(fd_bwform^.bw_choice,' 1 Pixel| 2 Pixel| 3 Pixel');
- fl_addto_choice(fd_bwform^.bw_choice,' 4 Pixel| 5 Pixel');
- fl_set_choice_text(fd_bwform^.bw_choice, '-2 Pixel');
- { show the first form }
- fl_show_form(fd_bwform^.bwform,FL_PLACE_CENTER,FL_NOBORDER,'bwform');
- while (fl_do_forms<>nil) do;
- end.
|