mirror of
				https://gitlab.com/freepascal.org/fpc/source.git
				synced 2025-10-31 19:31:37 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			46 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			ObjectPascal
		
	
	
	
	
	
			
		
		
	
	
			46 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			ObjectPascal
		
	
	
	
	
	
| Program pushButtons;
 | |
| { A demo that shows the use of push buttons.  }
 | |
| 
 | |
| uses xforms;
 | |
| 
 | |
| var form : PFL_FORM;
 | |
|     Abox : array[0..8] of PFL_OBJECT;
 | |
| 
 | |
| procedure push_cb( ob : PFL_OBJECT; n : longint);cdecl;
 | |
| 
 | |
| begin
 | |
|    if (fl_get_button(ob)<>0) then
 | |
|       fl_show_object(abox[n])
 | |
|    else
 | |
|       fl_hide_object(abox[n]);
 | |
| end;
 | |
| 
 | |
| 
 | |
| Procedure makeform;
 | |
| 
 | |
| Var i : Integer;
 | |
|     obj : PFL_OBJECT;
 | |
| 
 | |
| begin
 | |
|   form := fl_bgn_form(FL_UP_BOX,400,400);
 | |
|   for i:=0 to 7 do
 | |
|     begin
 | |
|     obj := fl_add_button(FL_PUSH_BUTTON,40,310-40*i,80,30,'');
 | |
|     fl_set_object_color(obj,FL_BLACK+i+1,FL_BLACK+i+1);
 | |
|       fl_set_object_callback(obj,PFL_CALLBACKPTR(@push_cb),i);
 | |
|     abox[i] := fl_add_box(FL_DOWN_BOX,150+30*i,40,25,320,'');
 | |
|       fl_set_object_color(abox[i],FL_BLACK+i+1,FL_BLACK+i+1);
 | |
|       fl_hide_object(abox[i]);
 | |
|     end;
 | |
|   fl_add_button(FL_NORMAL_BUTTON,40,350,80,30,'Exit');
 | |
|   fl_end_form;
 | |
| end;
 | |
| 
 | |
| Begin
 | |
|   fl_initialize(@argc, argv, 'FormDemo', nil,0);
 | |
|   makeform;
 | |
|   fl_show_form(form,FL_PLACE_CENTER,FL_NOBORDER,'Push Buttons');
 | |
|   { fl_do_forms will return only when Exit is pressed }
 | |
|   fl_do_forms;
 | |
| end.
 | 
