드로우홀릭 더베이직

SelStart, SelLength 작동 문의

2022.12.29 09:40:56 조회 수 1676 추천 수 0

Private Sub txt테이블_GotFocus()
  txt테이블.SelStart = 0
  txt테이블.SelLength = Len(txt테이블)
End Sub

Private Sub txt테이블_KeyPress(KeyAscii As Integer)
  If KeyAscii = vbKeyReturn Then SendKeys vbTab
End Sub

 

안녕하세요?

텍스트 박스를 클릭하였을 때 현재 출력된 텍스트가 선택되도록 하려고 하는데요,

위와 같이 코딩하여도 작동이 되지 않아 문의드립니다.

감사합니다.


profile

돌직구

2022.12.29 11:12:45
*.12.233.186

질문이 잘 이해되지 않습니다.

'텍스트 박스를 클릭하였을 때, 현재 출력된 텍스트가 선택'이라는 것이 잘 이해가 안 되는데요..
'텍스트 박스를 클릭하였을 때, 텍스트 박스 안에 있는 텍스트가 모두 선텍' 이라는 의미인가요?

일단 'KeyPress' 이벤트에 정의해 놓은 것은 질문과 관계 없는듯 하고요..

그리고 프로그래밍 하실 때에는 '클릭'과 '포커스'를 구분하셔야 합니다.

텍스트 박스에 포커스가 갈 때를 원하는 것인지..
텍스트 박스를 클릭할 때를 원하는 것인지 구분해야 합니다.

 

액세스 기본 동작으로, 탭 키 등으로 포커스가 이동되면, 원하시는 대로 텍스트 박스 안의 텍스트가 모두 선택됩니다. 그러니 이것을 별도로 구현할 필요는 없겠죠.

그러나 '클릭' 했을 때에는 텍스트 박스에서 내가 클릭한 부분에 커서가 갑니다. (SelLength=0)

그러니, 이번에는 '클릭' 이벤트를 사용해야 합니다.

Private Sub txt테이블_Click()
  txt테이블.SelStart = 0
  txt테이블.SelLength = Len(txt테이블)
End Sub

엄밀히 말하자면, 마우스로 클릭했을 때, 기본적으로 텍스트 박스의 모든 텍스트가 선택됩니다.
그러나 '클릭'했기 때문에, SelLength가 사라지고, 내가 클릭한 부분만 커서가 위치하게 되는 것이 됩니다.
그러니 위에 작성하신 GotFocus가 작동하지 않는 것이 아니고, 작동은 했는데 너무 빨리 없어지게 된 것이라고 보면 됩니다.

좁쌀영감

2022.12.30 04:43:24
*.82.71.162

잘 됩니다. 친절한 설명 감사합니다.

List of Articles
번호 제목 글쓴이 날짜 조회 수
공지 FAQ: 어떤 과정을 수강하는 것이 좋을까요? 외 돌직구 2017-08-29 31932
공지 좋은 답변을 이끌어 내는 방법 [1] 돌직구 2017-07-14 28066
공지 액세스 Q/A 게시판 형식을 변경합니다. 돌직구 2014-09-10 23131


  주소  12925 경기도 하남시 미사대로 540, B동 917호 (현대지식산업센터 한강미사2차) ㈜팀데이터이십일  |  고객센터 전화번호  02-467-2998  |  대표이사  염기웅
개인정보관리책임자  염기웅 (ml_privacy@td21.com)  |  사업자등록번호  120-86-79260  |  통신판매업신고번호  제 2021-경기하남-1166 호  [사업자 정보 확인]
  TD21의 사전 서면 동의 없이 TD21 사이트 일체의 정보, 콘텐츠 및 UI 등을 상업적 목적으로 전시, 전송, 스크래핑 등 무단 사용할 수 없습니다.