0
SynEdit의 Lazarus 버전을위한 SynEdit.InsertTextAtCaret ('Text') 프로 시저가 있습니다. 실행 취소 지원 기능을 갖춘 SynEdit 델파이 버전의 캐럿에 텍스트를 삽입하는 방법은 무엇입니까?SynEdit에서 캐럿 위치에 텍스트를 삽입하는 방법
SynEdit의 Lazarus 버전을위한 SynEdit.InsertTextAtCaret ('Text') 프로 시저가 있습니다. 실행 취소 지원 기능을 갖춘 SynEdit 델파이 버전의 캐럿에 텍스트를 삽입하는 방법은 무엇입니까?SynEdit에서 캐럿 위치에 텍스트를 삽입하는 방법
는 절차
TCustomSynEdit.procedure InsertBlock(const BB, BE: TBufferCoord; ChangeStr: PWideChar; AddToUndoList: Boolean);
그것은 ChangeStr 위치를이어야합니다 BB에서 텍스트를 변경 삽입있다. 당신은 BB를 설정하고 현재의 caret 좌표하는 당신은 당신이
는 예를 들어,`SelText` 속성에 값을 할당
SynEdit1.InsertBlock(SynEdit1.CaretXY, SynEdit1.CaretXY, 'test', true);
가 (난 그냥 빨리 소스 보였다) 작동 할 수 있습니다 원하는 것을 얻을 것입니다 수 있습니다 . – Victoria
빅토리아 감사합니다. 선택한 텍스트를 내 사용자 지정 텍스트로 대체하기 위해 확실히 사용할 것입니다. 그러나 SelText가 nil 일 때 텍스트를 삽입 할 수 있기를 원합니다. 즉, 선택 항목이없는 상태에서 깜박이는 캐럿 위치에 있습니다. – user30478
글쎄, 일반적인 편집 컨트롤 개념은 항상 시작 선택 인덱스가 있고, 실제로 캐럿 위치를 나타내는 선택이 없을 때 선택 길이가 0입니다. 그래서 나는 그것이 효과가 있기를 바랐다. 그럼, 당신은'PasteFromClipboard' 메쏘드 안에있는 것을 따라갈 수 있습니다, 클립 보드로 작업하는 대신 삽입하려는 텍스트를 사용하고 기록 된 실행 취소 동작을 약간 수정하는 대신에. – Victoria