|
1. 현재 선택된 영역전체의 정보를 가지고 옵니다.
2. 스트링 그리드의 맨 위부터 맨 아래까지 내려오면서 1번에서 얻어진 영역안에 위치했는지 확인합니다.
3. 영역 안이면 지웁니다.
...... =_=;;; 누구라도 따라 할수 있는 초간단 극악허접 스킬인거죠. 음...
p.s 다중선택의 경우에는 제 경우에는
void __fastcall TForm1::SGrid1MouseDown(TObject *Sender,
TMouseButton Button, TShiftState Shift, int X, int Y)
{
TShiftState Shft1;
Shft1<<ssShift<<ssLeft;
if( Shift == Shft1 )
{
if(nSTop > SGrid1->Row)
nSTop = SGrid1->Row;
else
nSBottom = SGrid1->Row;
if(nSLeft > SGrid1->Col)
nSLeft = SGrid1->Col;
else
nSRight = SGrid1->Col;
myRect.Left = nSLeft;
myRect.Top = nSTop;
myRect.Right = nSRight;
myRect.Bottom = nSBottom;
SGrid1->Selection = myRect;
}//if shift shft1
else
{
nSTop = SGrid1->Row;
nSBottom = SGrid1->Row;
nSLeft = SGrid1->Col;
nSRight = SGrid1->Col;
}
}
//---------------------------------------------------------------------------
이런 식으로 해본적은 있는데요 -_-; 별로 좋은 방법은 아닙니다;(비추천!) 뭐, 따로 방법이 있긴 할테니 한번 스트링 그리드의 속성을 잘 살펴보시면....
참고로. 이건 쉬프트를 누르고 마우스를 딸깍 거리주문 다중 선택이 되죠. 뭐.. 하나씩 띄엄띄엄은 안되는 기본적인 형태로요.
막막한초보 님이 쓰신 글 :
: stringGrid에서 다중 선택을 해서 삭제 하고 싶은데요.
: 한줄 삭제는 하겠는데..
: 여러줄 삭제를 하고 싶습니다.
: 먼저 다중 선택을 어떻게 할수 있을까요?
: 검색해서 찾아 보았으나...아직 해결이 안되네요..
: 오늘안으로 해결했으면 좋겠는뎅..쩝..
: 그럼 아시는 고수 분...답변 부탁 드릴게요...
|