If you are talking about Checkbox in an ALV Grid in Custom Control, follow these steps.
First declare the first field in your catalog as a check box.
CLEAR gs_fcat.
gs_fcat-fieldname = 'CHECKBOX'.
gs_fcat-seltext_m = 'Select'.
gs_fcat-checkbox = 'X'.
gs_fcat-edit = 'X'.
gs_fcat-input = 'X'.
APPEND gs_fcat TO gt_fcat.
Second, in the user command module, capture the button press event, save the edited grid and do the required coding.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
i_callback_program = gv_repid
i_callback_user_command = 'USER_COMMAND'
is_layout = gs_layout
it_fieldcat = gt_fcat
TABLES
t_outtab = gt_data .
FORM user_command USING r_ucomm LIKE sy-ucomm
rs_selfield TYPE slis_selfield.
case r_ucomm.
when 'FCODE'.
* Save the data edited in the grid.
Data ref1 type ref to cl_gui_alv_grid.
CALL FUNCTION 'GET_GLOBALS_FROM_SLVC_FULLSCR' IMPORTING E_GRID = ref1.
call method ref1->check_changed_data
loop at gt_data into wa_data.
if checkbox = 'X'.
perform coding.
endif.
endcase.
RS_SELFIELD-REFRESH = 'X'.
endform.