mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-04-14 18:19:54 +02:00
53 lines
1.5 KiB
ObjectPascal
53 lines
1.5 KiB
ObjectPascal
{ This demo shows the use of choice objects. }
|
|
|
|
program choice;
|
|
|
|
uses xforms;
|
|
|
|
|
|
var form : PFL_FORM;
|
|
sexobj,childobj,licenceobj,marriedobj,readyobj : PFL_OBJECT;
|
|
|
|
procedure cb( ob : PFL_OBJECT; data : longint);cdecl;
|
|
|
|
begin
|
|
Writeln ('CallBack: ', fl_get_choice(ob));
|
|
end;
|
|
|
|
procedure create_form;
|
|
|
|
begin
|
|
form := fl_bgn_form(FL_NO_BOX,420,360);
|
|
fl_add_box(FL_UP_BOX,0,0,420,360,'');
|
|
fl_add_input(FL_NORMAL_INPUT,70,300,320,30,'Name');
|
|
fl_add_input(FL_NORMAL_INPUT,70,260,320,30,'Address');
|
|
fl_add_input(FL_NORMAL_INPUT,70,220,320,30,'City');
|
|
fl_add_input(FL_NORMAL_INPUT,70,180,320,30,'Country');
|
|
sexobj := fl_add_choice(FL_NORMAL_CHOICE,70,130,110,30,'Sex');
|
|
childobj := fl_add_choice(FL_NORMAL_CHOICE,280,130,110,30,'Children');
|
|
licenceobj := fl_add_choice(FL_NORMAL_CHOICE,280,80,110,30,'Licence');
|
|
marriedobj := fl_add_choice(FL_DROPLIST_CHOICE,70,80,110,30,'Married');
|
|
fl_set_object_callback(marriedobj, PFL_CALLBACKPTR(@cb),0);
|
|
readyobj := fl_add_button(FL_NORMAL_BUTTON,150,20,140,30,'Ready');
|
|
fl_end_form;
|
|
end;
|
|
|
|
var obj : PFL_OBJECT;
|
|
|
|
begin
|
|
|
|
fl_flip_yorigin;
|
|
fl_initialize(@argc, argv, 'FormDemo', nil, 0);
|
|
create_form;
|
|
fl_addto_choice(sexobj,'Male');
|
|
fl_addto_choice(sexobj,'Female');
|
|
fl_addto_choice(childobj,'Zero|One|Two|Three|Many');
|
|
fl_addto_choice(licenceobj,'Yes');
|
|
fl_addto_choice(licenceobj,'No');
|
|
fl_addto_choice(marriedobj,'Yes');
|
|
fl_addto_choice(marriedobj,'No');
|
|
fl_show_form(form,FL_PLACE_CENTER,FL_NOBORDER,Nil);
|
|
while (obj <> readyobj) do obj := fl_do_forms;
|
|
fl_hide_form(form);
|
|
end.
|