안녕하세요
수고 많습니다.
문제가 해결 되지 않아서 이렇게 질문 합니다.
아래 글은 제가 작성한것은 아닙니다.
그러나 문제점 내용이 같이 때문에 그대로 올립니다.---예전 질답 미 해결---
내용을 추가을 한다면
그리드에 스크룰바가 생성 되지 않으면 아래와 같은 문제가 생기지 않습니다.
그러나 수직 스크룰바가 생성 되면 아래와 같은 문제가 생성 됩니다.
많은 답변을 부탁 드립니다.
감사 합니다.
----질문 요지----
체크박스를 동적으로 생성하다 보니....
스트링 그리드에 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;
그럼 수고 하세요