2010-03-07 2 views
1

모든 셀을 편집 할 수있는 목록 상자가 있습니다.REALbasic ListBox.ActiveCell의 메뉴 핸들러

사용자가 ActiveCell (텍스트 필드)에 텍스트를 입력하는 동안 텍스트를 붙여 넣기로 결정할 수 있습니다.

필자는 붙여 넣기 텍스트를 검사하고 다중 행인지 아닌지에 따라 다른 붙여 넣기 작업을 수행하고자합니다.

ListBox1.ActiveCell 전용 EditPaste MenuHandler를 만드는 방법이 있습니까?

답변

2

키보드 async 명령을 사용하고 Listbox.CellKeyDown 이벤트에서 붙여 넣기 명령을 가로 챌 수 있어야합니다. 그런 다음 클립 보드 객체를보고 클립 보드 객체에 포함 된 텍스트를 확인하십시오.

kludge의 종류이지만, ActiveCell이 개입하지 않고 자르기/복사/붙여 넣기를 처리하기 때문에 다른 방법을 생각할 수 없습니다.

+0

감사합니다. 그것은 붙여 넣기의 모든 방법을 잡는 무언가를 찾는 것이 좋을 것입니다. –

+0

글쎄, 직접 물리적 셀에 에디트 필드를 놓고 붙여 넣기를 제어하지 않는 한, activecell을 오버라이드 할 직접적인 방법이 없다는 것입니다.하지만 내장 에디터 사용의 이점은 상실됩니다. 나는 그렇게하지 않았지만 가능하다고 생각합니다. 목록 상자 위에 TextField를 레이어하는 것은 문제가 될 수 있습니다. Einhugur에서 StyledGrid로 전환하고 CDirectEdit 하위 클래스를 사용하면 프로세스를 조금 더 제어 할 수 있습니다. CDirectEdit 클래스를 사용하여 YMMV를 사용한 지 오래되었습니다. –