체크박스를 동적으로 생성하다 보니....
스트링 그리드에 0 칼럼, 0 로우에 체크박스가 원하지도 않은 자리에 체크박스가 생성이
됩니다.
-------------------------------------------------------
ㅁCheckbox | ColumnHeader1 | ColumnName2 | ColumnName3
_______________________________________________________
                                           ㅁChecked
                                           ㅁChecked
                                           ㅁChecked
위와 같이 맨 왼쪽에 체크박스가 생성이고 원하는 체크박스가 생성이 됩니다.
왼쪽 맨 끝에 것을 없애려고 하는데 잘 안없어집니다...
제가 생성한 코딩은 
Q & A를 참고로 해서 코딩을 했습니다..
for i := 1 to ag_main.RecordCount - 1 do 
begin
     OnKeyUp    := CheckBoxKeyUp;   //--> CheckBox이벤트 연결부분
     OnMouseUp  := CheckBoxMouseUp;
     Parent     := ag_main;
     BoundsRect := ag_main.CellRect(9, i);
     Width      := ag_main.ColWidths[9];
     Height     := ag_main.RowHeights[9];
     Checked    := True;
     Caption    := 'Checked';
end;
procedure TMain.CheckBoxMouseUp(Sender: TObject; Button:
   TMouseButton; Shift: TShiftState; X, Y: Integer);
var
   i : Integer;
begin
    with TCheckBox(Sender) do
         Checked := not Checked;
    for i := 1 to ag_main.rowcount-1  do
    begin
       with TCheckBox(ag_main.Objects[9, i]) do
       begin
          if Checked then Caption := 'Checked' else
                          Caption := '';
       end;
    end;
end;
procedure TMain.CheckBoxKeyUp(Sender: TObject; var Key: Word;
   Shift: TShiftState);
 var
   i : Integer;
 begin
    if Key = VK_SPACE then
    with TCheckBox(Sender) do
       Checked := not Checked;
    for i := 1 to ag_main.rowcount-1  do
    begin
       with TCheckBox(ag_main.Objects[9, i]) do
       begin
          if checked then Caption := 'Checked' else
                          Caption := '';
       end;
    end;
end;