mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-04-27 02:43:41 +02:00
102 lines
3.0 KiB
ObjectPascal
102 lines
3.0 KiB
ObjectPascal
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.
|