|
너무 쉬운거라서 그런지 아무도 답을 안 달아주시네요..
그냥 삽질했습니다.
Ctrl 때 한 번, V를 누를 때 한 번 총 두번의 Down Event가 발생합니다.
두번째 발생 이벤트 때 다음의 코드가 실행되겠죠...
방법1.
if(Key == 'C' && Shift.Contains(ssCtrl))
{
AdvStringGrid1->CopySelectionToClipboard();
}
else if(Key == 'V' && Shift.Contains(ssCtrl))
{
AdvStringGrid1->PasteSelectionFromClipboard();
}
이 방법은 매우 간단하나.. 선택한 셀의 영역이 기존 셀의 컬럼이나 로우 수를 넘어가면 저절로 컬럼과 로우를 생성시키더군요.. 다른 처리를 해주어야 할 듯 합니다.
방법2.
StartCol=AdvStringGrid1->Selection.Left;
EndCol=AdvStringGrid1->Selection.Right;
StartRow=AdvStringGrid1->Selection.Top;
EndRow=AdvStringGrid1->Selection.Bottom;
위의 코드를 통해서 알아낸 영역을 배열에 옯긴 후에 다시 선택한 영역으로부터 차례로 넣어주면 됩니다.
|