1. 현재 줄 번호를 얻는 방법
RichEdit(또는 메모) 컨트롤을 사용하여 텍스트 편집기를 만들 때 line??count 속성에 접근하여 총 줄 수를 얻을 수 있지만 현재 커서가 있는 줄의 줄 번호를 아는 것은 번거롭습니다. 왜냐하면 Delphi는 이 속성을 제공하지 않기 때문입니다. 이 필수 편집기 기능을 구현하려면 em_ LineFromChar를 호출해야 합니다. 아래 절차를 시도해 보세요.
먼저 창에 RichEdit 또는 메모(편집기라는 이름)와 버튼을 정렬합니다. 버튼의 onclick 이벤트에 다음 코드를 작성합니다.
var
CurrentLine:정수;
시작하다
CurrentLine:=Editor??Perform(em_ LineFromChar,SFFFF,0);
application??MessageBox(PChar('현재 줄 번호는'+IntToStr(CurrentLine)),'Message',mb_ iconinformation);
끝;
첫 번째 줄의 줄 번호는 0입니다.
2. 작업을 실행 취소하는 방법(실행 취소)
메모의 경우 실행 취소를 구현하는 데 프로그래밍이 필요하지 않습니다. 팝업 메뉴 속성이 비어 있는 한 실행 취소, 잘라내기, 복사, 붙여넣기, 삭제 및 선택의 6개 항목을 포함하여 런타임 중에 마우스 오른쪽 버튼을 사용하여 일반 작업 메뉴를 활성화할 수 있습니다. 모두. .
하지만 아쉽게도 이 방법은 강력한 RichEdit 컨트롤에는 적용되지 않으므로 팝업메뮤를 직접 디자인해야 합니다. CutToClipBoard 및 기타 명령문을 사용하여 "잘라내기"와 같은 기능을 쉽고 원활하게 완료할 때 "실행 취소"를 수행하기 위해 취소 또는 취소와 같은 명령문을 찾을 수 없다는 사실을 알게 되면 속수무책이 됩니다.
이때는 다음과 같이 처리해야 합니다.
RichEdit1??Perform(EM_UNDO,0,0);
또한 실행 취소가 허용되는지 확인하여 팝업 메뉴에서 "실행 취소" 항목을 켜거나 꺼야 합니다.
Undo1??활성화:=RichEdit??Perform(EM_CANUNDO,0,0)<>0;
위 프로그램은 Delphi3에서 디버깅을 통과했습니다.