죄송하지만 질문 의도를 확실히 파악을 못하겠네요.
만약, Overwrite 문제라면..
http://www.borlandforum.com/impboard/impboard.dll?action=read&db=bcb_qna&no=17962
을 참고하시면 Overwrite 기능을 구현하실 수 있을것 같습니다.
볼랜드 님이 쓰신 글 :
: 현재 메모장에 글자를 출력 하고 있습니다.
: 그런데..메모장을 Line으로 출력다보니 문제가 생겼습니다.
: 라인에서 어떤부분의 글자 하나를 지우고 제가 다른 글자로 입력하게 하고
: 출력되게 한뒤 carot은 다음 글자를 가리키게 하고 싶습니다..
: (글자가 밀리게 하는 것이 아니라 제가 친 내용은 글자가 대치..)
:
: void TForm1::Draw(long id)
: {
: AnsiString str;
: Memo1->Clear();
: for(int j = 0; j < height; j++)
: {
: str = DrawLine(id*j*height, j);
: Memo1->Lines->Add(str);
: }
: }
: AnsiString TForm1::DrawLine(long i, int pos)
: {
: //여기서 한 라인의 글자를 리턴해줍니다.
: for(i=0; i<width; i++) {
: chr = *(kk+i); // 메모리의 번지에서 글자를 읽습니다.
: sprintf(tp, "%02X ", chr);
: strcat(ccc, tp)
:
: return (AnsiString)ccc;
: }
: 위의 Drqw 함수를 호출하여 그리고 있습니다.
: 메모리의 번지의 글자를 읽을때는 바뀐 글자를 읽습니다
: 외부에서 키보드로 글자를 바꾸면
: *(kk+i) = Key; //바로 그메모리의 글자를 바꿔버립니다.
:
: 그러고 난뒤 Draw를 호출하니 라인만 출력하면
: 그 라인은 바뀐 내용이 출력되지만 캐럿은 다음 라인을 가리키게 되고
: 키보드에서 받은 글자는 다음 라인에 출력되고 캐럿은 글자다음에 위치합니다.
: 메모장의 SetFocus는 메모장을 선택하는거지 라인까지 정확히 찾니는 못하더군여..
:
: 강제로 올기고 샆지만 잘 모르겠구..
: 또 키보드에서 받는 글자는 어떻게 지워야 될지..
:
: 초보라..난감합니다..
: