2012-08-14 5 views
0

보고서 모드에서 listview 컨트롤을 사용하는 경우 syslink 컨트롤을 열 중 하나에 붙이려면 어떻게해야합니까?
사용자가 열 중 하나에서 클릭 할 수있는 링크가 필요합니다.ListView의 Syslink

+0

하이퍼 링크가 포함 된 많은 열을 계획하는 경우 소유자가 그린 listview를 고려할 수 있습니다. syslink 컨트롤을 listviews 장치 컨텍스트에 직접 렌더링 할 수도 있습니다. –

답변

4

목록보기 컨트롤은이 자체를 지원하지 않습니다.

listview의 자식 인 실제 Syslink 컨트롤을 만들 수 있습니다. 목록보기를 하위 클래스 화하고 목록 스크롤 (WM_HSCROLL/WM_VSCROLL 메시지보기) 또는 항목 추가 또는 제거시 또는 정렬 할 때마다 Syslink 컨트롤의 위치를 ​​변경해야합니다. LVM_GETSUBITEMRECT를 사용하여 위치를 찾을 수 있습니다.

또는 NM_CUSTOMDRAW를 사용하여 "링크"를 다른 색으로 표시하고 NM_CLICK를 처리하여 사용자가 링크를 클릭 할 때 잡을 수 있습니다. 이것은 내 생각에 가장 간단한 방법이 될 것입니다. 링크 위에 손 모양 커서를 표시하려면 목록을 하위 클래스로 만들고 WM_SETCURSOR를 직접 처리해야합니다.