임프랍니다.
델파이 Q/A 게시판을 새로 오픈한 후 첫 질문인데 죄송스럽게도.. 간단한 방법은 없습니다.
지난번에 빌더 Q/A에서도 비슷한 질문이 올라와서 방법을 모색해봤는데, 리스트뷰를 완전히 상속받아
새로 컴퍼넌트를 만드는 외에는 불가능하지요.
물론, 아래/위 화살표 모양을 글자코드로 쓰면 비슷하게는 됩니다만, 아무래도 탐색기에 있는 것과 같은
3D 모양의 깔끔한 삼각형 이미지가 아니라 멋대가리 없는 시커먼 삼각형일 뿐입니다.
다음은 저번에 답변했던 내용이구요.
----------------------------------------------------
임프랍니다.
가능한 방법을 다 동원해봤습니다만.. 결론은, 현재의 리스트뷰 컨트롤로는 안된다는 것입니다.
API 레벨에서 리스트뷰의 헤더 부분은 별도의 헤더 컨트롤입니다만, 오너드로우 동작이 구현되어 있는
THeaderControl과는 달리, 리스트뷰에 포함된 헤더 컨트롤은 오너드로우가 완전히 막혀있습니다.
API 레벨에서 윈도우 프로시저를 가로채어 강제로 오너드로우를 시키려고 하더라도, 베이스에 있는
VCL의 코드가 완전히 무시해버리기 때문에 불가능하더군요.
방법은 리스트뷰 내의 컬럼 객체를 상속받아 새로 만들든지 하는 방법뿐인데, 그러려면 현재의 리스트뷰
역시 상속받아 새로 만들어야할 겁니다.
그럼 이만...
-----------------------------------------------------
다시 요약해서 말씀드리면, VCL의 리스트뷰는 내부의 헤더를 서브클래싱하더라도 지가 싹~ 무시해버리기
때문에 상속받아 새 컴퍼넌트를 만들지 않는 이상 불가능하다는 말입니다.
내일 바쁘지 않으면, 리스트뷰를 상속받아 컬럼을 드로우할 수 있는 예제를 한번 만들어서 올려드리지요.
그럼 이만...
용이... 님이 쓰신 글 :
: 질문 그대로 입니다.
: 리스트뷰에 컬럼을 만들었는데 컬럼헤더에 화살표를 어떻게 넣는건지 좀 알려 주세여...
: 마치 윈도우 탐색기처럼 말입니다.
: 누를 때마다 오름차순, 내림차순으로 보여주는 화살표 말입니다.
: 어찌해야 하는지 잘 생각이 나질 않는군여...
:
:
|