Q&A

  • 리치에디트(RichEdit)에서 다음 열에 출력이 안되고 앞의 열을 덮어쓰는 현상
RC파일 하나를 컴파일해서 RES 파일을 만든후 등록시켰어요.

RC파일에 여러개의 텍스트문을 등록시켰어요.



그런후 텍스트문 만큼 버튼을 만들었고, 리치에디터도 하나 만들었어요.



해당버튼을 누르면 해당텍스트 파일을 열어서 내용을 리치에디터에 출력되게했어요.



그런데 문제가 생겼어요..(ㅠ.ㅠ)



만약에 1번 버튼을 누르면 리치에디터에 1번 텍스트 내용이 출력되요.

그런후 2번 버튼을 누르면 리치에디터에 2번 텍스트 내용이 1번 다음에 나와야되는데,

1번 내용이 없어지고 2번 내용만 찍혀요.(ㅜ.ㅜ)

같이 나오게 하는 방법 좀 가르쳐 주십세요.



저는 이렇게 코딩했습니다.



HResInfo:THandle;

MemHandle:Thandle;

위에 두개(HResInfo , MemHandle)는 전역변수로 선언했구요.



procedure TForm1.RootLayOutBtClick(Sender: TObject);

begin

HResInfo := FindResource(HInstance, 'TXT1' , 'TEXT'); //리소스에서 텍스트를 찾음

MemHandle := LoadResource(HInstance, HResInfo); //텍스트를 로드함

RichEdit1.Lines.Text := PChar(LockResource(Memhandle)); //텍스트를 출력

FreeResource(MemHandle); 리소스를 해제

end;



procedure TForm1.RegionBtClick(Sender: TObject);

begin

HResInfo := FindResource(HInstance, 'TXT2' , 'TEXT');

MemHandle := LoadResource(HInstance, HResInfo);

RichEdit1.Lines.Text := PChar(LockResource(Memhandle));

FreeResource(MemHandle);

end;



1  COMMENTS
  • Profile
    최석기 2000.08.23 00:53
    RichEdit1.Lines.Text := PChar(LockResource(Memhandle));



    이 부분이 잘못된거 같은데요.



    Lines는 Strings 객체인데 Text 프로퍼티를 사용해서 입력하면 기존에 입력한 내용이 지워질텐데요.



    ADD 메쏘드를 사용해서 입력하세요.



    RichEdit1.Lines.Add(입력할 내용);



    써니 wrote:

    > RC파일 하나를 컴파일해서 RES 파일을 만든후 등록시켰어요.

    > RC파일에 여러개의 텍스트문을 등록시켰어요.

    >

    > 그런후 텍스트문 만큼 버튼을 만들었고, 리치에디터도 하나 만들었어요.

    >

    > 해당버튼을 누르면 해당텍스트 파일을 열어서 내용을 리치에디터에 출력되게했어요.

    >

    > 그런데 문제가 생겼어요..(ㅠ.ㅠ)

    >

    > 만약에 1번 버튼을 누르면 리치에디터에 1번 텍스트 내용이 출력되요.

    > 그런후 2번 버튼을 누르면 리치에디터에 2번 텍스트 내용이 1번 다음에 나와야되는데,

    > 1번 내용이 없어지고 2번 내용만 찍혀요.(ㅜ.ㅜ)

    > 같이 나오게 하는 방법 좀 가르쳐 주십세요.

    >

    > 저는 이렇게 코딩했습니다.

    >

    > HResInfo:THandle;

    > MemHandle:Thandle;

    > 위에 두개(HResInfo , MemHandle)는 전역변수로 선언했구요.

    >

    > procedure TForm1.RootLayOutBtClick(Sender: TObject);

    > begin

    > HResInfo := FindResource(HInstance, 'TXT1' , 'TEXT'); //리소스에서 텍스트를 찾음

    > MemHandle := LoadResource(HInstance, HResInfo); //텍스트를 로드함

    > RichEdit1.Lines.Text := PChar(LockResource(Memhandle)); //텍스트를 출력

    > FreeResource(MemHandle); 리소스를 해제

    > end;

    >

    > procedure TForm1.RegionBtClick(Sender: TObject);

    > begin

    > HResInfo := FindResource(HInstance, 'TXT2' , 'TEXT');

    > MemHandle := LoadResource(HInstance, HResInfo);

    > RichEdit1.Lines.Text := PChar(LockResource(Memhandle));

    > FreeResource(MemHandle);

    > end;

    >