|
다음과 같이 메모장을 출력하고 있습니다.
for(int i=0; i<=Height; i++)
Draw(id+i*width, i); //
위는 메모장의 크기만큼 출력하는 루틴입니다.
그러니 커서가 다음 칸을 가르키까 맨 위의 라인의 보이지 않고 위로 올라가고
맨밑의 공간 라인이 추가되면서 커서가 맨 마지막 공간라인의 첫번째 셀을 가리키고 있더군여..
전 커서가 마지막 출력 라인(즉 공간라인)바로 위의 라인의 맨끝 라인을 가리키게 하고 싶고
그 다음 공간라인은 제거하고 싶습니다.
그래서
TShiftState shift;
sfift << ssHift; // 이부분은 따로 쓸 내용이 없어서 이렇게 적었습니다.
//그냥 아무키다 받습니다 하니 방법을 잘 몰라서...
//아시는 분 도움 부탁..
MemoKeyDown(Memo,VK_SPACE,shift);
위와 같이 해서 MemoKeyDown을 추가하여 이부분은 그냥 메세지만 출력했습니다.
MemoKeyDown 는 Memo장의 OnKeyDown에 적었습니다.
MemoKeyDown 의 내용은 다음과 같습니다.
case VK_BACK : Memo1->Lines->Delete(Height); //마지막 출력라인 즉 공간라인 제거
ShowMessage("VK_BACK Press");
Memo1->SelStat = height -1; //이렇게 하면 라인 크기 끝 라인 바로
// 위로는 갈줄 알았습니다.
break;
아무래도 위의 방법은 아닌거 같습니다.
혹시 아시는분 답변좀 헤 주세여..
|