드로우홀릭 더베이직

SelStart, SelLength 작동 문의

2022.12.29 09:40:56 조회 수 1683 추천 수 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 31984
공지 좋은 답변을 이끌어 내는 방법 [1] 돌직구 2017-07-14 28135
공지 액세스 Q/A 게시판 형식을 변경합니다. 돌직구 2014-09-10 23157

데이처를 TXT 문장으로 완성하는 방법에 대해 [1]

분류 테이블 sort 문의 file [2]

튜터링 서비스 [2]

SelStart, SelLength 작동 문의 [2]

수강료 할인 이벤트 [2]

#num! 뜨는 이유 file [4]

하나의 액세스 파일에서 다른 액세스 파일 데이터 다루기 [3]

보고서 만들기 그룹별 정리 file [3]

문의 [1]

속성시트 형식에서 소수점자리 설정 file [1]

필드명 관련 문의드립니다. [1]

데이터 관련 문의 [1]

사무자동화 실기 준비중입니다^^ file [1]

직장인을 위한 실무 엑세스 교재 CD를 잃어버렸습니다. [1]

  • 써치
  • 2022-10-07
  • 조회 수 2606

교안 다운로드 에러가 발생합니다. [1]

  • linuver
  • 2022-08-23
  • 조회 수 202

대화상자에서 명령메크로작동? [1]

  • 열심
  • 2022-08-16
  • 조회 수 126

변환함수? [1]

  • 열심
  • 2022-08-12
  • 조회 수 1485

콤보박스 [1]

  • 열심
  • 2022-08-07
  • 조회 수 3962

메모형식 데이터추가만 되게 하는방법 알고싶습니다 file [1]

대화상자 매크로동작에 대한 재질문입니다 [1]

  • 열심
  • 2022-08-01
  • 조회 수 766


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