123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102 |
- program lalign;
- { different label alignments }
- uses xforms;
- type
- TFD_Form0 = record
- form0 : PFL_FORM;
- box,inside,center : PFL_Object;
- vdata : pointer;
- ldata : longint;
- end;
- PFD_Form0 = ^TFD_Form0;
- var fd_form0 : PFD_form0;
- align :integer;
- Procedure align_cb(ob : PFL_OBJECT; n : longint);cdecl;
- begin
- if fl_get_button(fd_form0^.inside)<>0 then
- n:=n or FL_ALIGN_INSIDE;
- fl_set_object_lalign(fd_form0^.box, n);
- end;
- Procedure inside_cb(Ob : PFL_OBJECT; data : longint);cdecl;
- begin
- if fl_get_button(ob)<>0 then
- fd_form0^.box^.align := fd_form0^.box^.align or FL_ALIGN_INSIDE
- else
- fd_form0^.box^.align := fd_form0^.box^.align and not FL_ALIGN_INSIDE;
- fl_redraw_form(fd_form0^.form0);
- end;
- function create_form_form0 : PFD_form0;
- Var
- obj : PFL_OBJECT;
- fdui : PFD_form0;
- begin
- new(fdui);
- fdui^.form0 := fl_bgn_form(FL_NO_BOX, 351, 170);
- obj := fl_add_box(FL_UP_BOX,0,0,351,170,'');
- obj := fl_add_box(FL_UP_BOX,190,45,90,45,'abcdefg'#10'hijklmno');
- fdui^.box := obj ;
- { fl_set_object_clip(obj, 1); }
- obj := fl_add_lightbutton(FL_PUSH_BUTTON,20,120,90,30,'Inside');
- fdui^.inside := obj;
- fl_set_object_callback(obj,PFL_CALLBACKPTR(@inside_cb),0);
- fl_bgn_group();
- obj := fl_add_button(FL_RADIO_BUTTON,20,20,30,30,'@#7->');
- fl_set_object_lcol(obj,FL_BLUE);
- fl_set_object_callback(obj,PFL_CALLBACKPTR(@align_cb),FL_ALIGN_LEFT_TOP);
- obj := fl_add_button(FL_RADIO_BUTTON,50,20,30,30,'@#8->');
- fl_set_object_lcol(obj,FL_BLUE);
- fl_set_object_callback(obj,PFL_CALLBACKPTR(@align_cb),FL_ALIGN_TOP);
- obj := fl_add_button(FL_RADIO_BUTTON,80,20,30,30,'@#9->');
- fl_set_object_lcol(obj,FL_BLUE);
- fl_set_object_callback(obj,PFL_CALLBACKPTR(@align_cb),FL_ALIGN_RIGHT_TOP);
- obj := fl_add_button(FL_RADIO_BUTTON,80,50,30,30,'@#->');
- fl_set_object_lcol(obj,FL_BLUE);
- fl_set_object_callback(obj,PFL_CALLBACKPTR(@align_cb),FL_ALIGN_RIGHT);
- obj := fl_add_button(FL_RADIO_BUTTON,50,50,30,30,'@circle');
- fdui^.center := obj;
- fl_set_object_lcol(obj,FL_RED);
- fl_set_object_callback(obj,PFL_CALLBACKPTR(@align_cb),FL_ALIGN_CENTER);
- obj := fl_add_button(FL_RADIO_BUTTON,20,50,30,30,'@#<-');
- fl_set_object_lcol(obj,FL_BLUE);
- fl_set_object_callback(obj,PFL_CALLBACKPTR(@align_cb),FL_ALIGN_LEFT);
- obj := fl_add_button(FL_RADIO_BUTTON,20,80,30,30,'@#1->');
- fl_set_object_lcol(obj,FL_BLUE);
- fl_set_object_callback(obj,PFL_CALLBACKPTR(@align_cb),FL_ALIGN_LEFT_BOTTOM);
- obj := fl_add_button(FL_RADIO_BUTTON,50,80,30,30,'@#2->');
- fl_set_object_lcol(obj,FL_BLUE);
- fl_set_object_callback(obj,PFL_CALLBACKPTR(@align_cb),FL_ALIGN_BOTTOM);
- obj := fl_add_button(FL_RADIO_BUTTON,80,80,30,30,'@#3->');
- fl_set_object_lcol(obj,FL_BLUE);
- fl_set_object_callback(obj,PFL_CALLBACKPTR(@align_cb),FL_ALIGN_RIGHT_BOTTOM);
- fl_end_group();
- obj := fl_add_button(FL_NORMAL_BUTTON,140,120,70,30,'Done');
- fl_end_form();
- create_form_form0 := fdui;
- end;
- begin
- fl_initialize(@argc, argv, 'FormDemo', nil, 0);
- fd_form0 := create_form_form0();
- { fill-in form initialization code }
- fl_set_form_dblbuffer(fd_form0^.form0, 1);
- align := fd_form0^.box^.align or FL_ALIGN_INSIDE;
- if align <> fd_form0^.box^.align then
- fl_set_button(fd_form0^.inside, 1);
- { show the first form }
- fl_show_form(fd_form0^.form0,FL_PLACE_FREE,FL_FULLBORDER,'form0');
- fl_do_forms();
- end.
|