C++Builder Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
C++빌더 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
메신저 프로젝트
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C++빌더 Q&A
C++Builder Programming Q&A
[51378] Re:Re: 제가 질문하는걸 이상하게 했나요?
장성호 [nasilso] 2154 읽음    2007-11-27 17:32
[질문에 대한 답변에 관하여..]

"불멸의삽질..."아이디는 처음보는것 같은데...

제가 질문에 답변을 잘 못다는 경우는?

1. 모르는 경우

2. 답변을 달기위해 시간이 필요한경우
   (대부분의 경우 자세하게 달고 , 직접 테스트해 보고 답변 드리기 때문에...)

3. 질문이 무슨의미인지 정확히 파악하기 어려운 경우..

4. 바쁜경우..

5. 기타..

그런데 님의 질문의 제 입장에서는
4번하고 3번이 좀 썩여있습니다.

정확히 무엇을 원하는지 이해가 잘 안갔었습니다.



[ListView 캡션 Edit 에 관하여]

@질문이해
  ListView의 item의 Caption을 수정할때 MaxLength를 설정할수 없는냐는 질문이죠?
  ReadOnly=false 상태에서 말이죠?
  질문을 제대로 이해 했나 모르겠네요..


@답변
  TListView에는 OnEdited이벤트와 OnEditing이벤트 가 있습니다.
  Item의 Caption을 수정하려고할때 OnEditing이벤트가 발생하고
  Item의 Caption을 수정을 완료할때 OnEdited이벤트가 발생합니다.
 
  방법1. 간단히 하는 방법은?
     OnEdited이벤트에서 넘어오는 AnsiString &S의 Length를 확인해 본 후
     S값을 수정하시면 됩니다.
  
     ;이방법은 수정중에는 입력제한은 안되고 수정완료시에만 적용이 되죠

  방법2. Cation을 수정하는 EDIT 컨트롤에서 입력제한
       이방법이 확실한 방법인데요..

     2.1 수정입력창?
         TComboBox나  TTreeView , TListView 등의 item Caption이나 Text를  수정할때
         Edit가 뜨잖아요? 그건 모두 윈도우에 기본 Control인 EDIT입니다.
 
     2.2 MexLength설정
         TEdit는 EDIT를 랩핑해놓은 Control입니다.
         TEdit가 MaxLength설정은 vcl소스를 보면 
         SendMessage로 EM_SETLIMITTEXT 메세지를 날려줍니다.
         EDIT도 똑같은 방식으로 되겠죠..

     2.3 EDIT 찾기
         그런데 EDIT가 평소에는 보이지 않다가 수정할때만 보이잖아요
         그래서 그냥 제어할수 있는것이 아니라 FindWindowEx로 찾아야 합니다.
         수정할때만 보이므로 ListView같은 경우에는 OnEditing이벤트에서 찾으면 되구요
         FindWindow 가 아니라 FindWindowEx로 한것은 ListView위에 있기 때문입니다.
         TComboBox등 다른 컨트롤도 FindWindowEx로 EDIT를 찾아야 하구요..


     정리하면..
        - ListView의 OnEditing이벤트에서 FindWindowEx로 ListView안에서 EDIT의 HWND를 찾은 다음
        - SendMessage로 EM_SETLIMITTEXT를 날리면 되는것입니다. WPARAM에 원하는 length를 주고요..



그럼..
 

불멸의삽질(곰) 님이 쓰신 글 :
: 불멸의삽질(곰) 님이 쓰신 글 :
: : ListView에서 갭션 Text에 문자수 제한을 걸 수는 없는건가요?
: :
: : 전 5개까지만 받을려고했더니 맥스렌스 설정하는게 없더라구요 OTL
: :
: : 아시는 분~~ ㅠㅠ
:
: 제가 질문 올리는거 마다 리플이 하나도 없네요 ㅠㅠ
:
: 혹시 제가 질문을 이상하게 하나요? 아니면 싸가지 없게 하나요?
:
: ㅠㅠ

+ -

관련 글 리스트
51366 [질문] ListView에서 캡션 Text 컨트롤 문의좀 ㅠㅠ 불멸의삽질(곰) 1493 2007/11/27
51371     Re: 제가 질문하는걸 이상하게 했나요? 불멸의삽질(곰) 1523 2007/11/27
51378         Re:Re: 제가 질문하는걸 이상하게 했나요? 장성호 2154 2007/11/27
51380             크아~~ 정말 감사합니다~~ 감격입니다~~ 불멸의삽질(곰) 2219 2007/11/27
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.