C++Builder Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
C++빌더 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
메신저 프로젝트
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C++빌더 Q&A
C++Builder Programming Q&A
[24467] [질문]강제로 포커스를 움직이고 싶습니다..
볼랜드 [carl] 686 읽음    2003-02-25 10:30
현재 메모장에 글자를 출력 하고 있습니다.
그런데..메모장을 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는 메모장을 선택하는거지 라인까지 정확히 찾니는 못하더군여..

강제로 올기고 샆지만 잘 모르겠구..
또 키보드에서 받는 글자는 어떻게 지워야 될지..

초보라..난감합니다..

+ -

관련 글 리스트
24467 [질문]강제로 포커스를 움직이고 싶습니다.. 볼랜드 686 2003/02/25
24488     Re:[질문]강제로 포커스를 움직이고 싶습니다.. 유영인.Chris 816 2003/02/26
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.