2011-03-24 2 views
2

내가 만들고자하는 것은 모든 항목을 표시하기 위해 크기를 조정하는 목록보기입니다. 일반적으로 AutoSize를 사용 하겠지만 여기서는 작동하지 않습니다. 다른 옵션 ListView를 모두 확장 및 축소 할 수있는 방법은 무엇입니까?모든 항목을 표시하는 ListView 자동 크기

+1

열 머리글의 높이를 쉽게 알 수 없으므로 특히보기 = 자세히를 사용하면 어렵습니다. 사용자가 원하는대로 양식 크기를 조정하려면 사용자에게 맡기고 목록보기의 크기가 자신의 크기대로 조정되는지 확인하십시오. –

+0

한스의 답변 (http://stackoverflow.com/questions/27584650/resize-form-on-listview-height)을 참조하십시오. – OfficeAddinDev

답변

2

원하는 높이를 수동으로 계산하고 항목이 추가/제거 될 때 설정해야합니다.

검색 항목 추가 또는 제거가 직접 지원되지 않으므로 클라이언트가 전화를 걸도록 항목 추가/제거 호출을 직접 만들거나 WndProc에서 LVN_INSERTIEM 유형 메시지를 처리해야합니다.

자동 크기 조정 컨트롤은 일반적으로 사용하기가 더 까다 롭습니다. 최소/최대 크기를 추적해야하므로 소유자에게 공간을 허용하고 일반적으로 사용자 편의점에 추가하십시오. 일반적인 솔루션 (예 : 스크롤 막대)이 실제로 필요한 경우 작동하지 않는 경우에만 이와 같은 작업을 수행하십시오.

0

"ListView"컨트롤에는 "AutoSize"속성이 지원되지 않습니다. @ JohnArien이 언급했듯이 사용 가능한 항목 수에 따라 목록보기 컨트롤의 크기를 프로그래밍 방식으로 조정해야합니다. 그러나 이것이 양식의 시각적 호소 측면에서 좋은 아이디어는 아닐 수도 있습니다. 런타임에 크기를 변경하면 양식 디자인이보기 흉하게 보일 수 있습니다. 이러한 유형의 컨트롤을 더 많이 사용하면 스크롤 막대를 사용하여 클라이언트 영역을 지정된 크기로 확장 할 수 있습니다. 이 옵션을 다시 고려해 보길 강력히 권합니다.

관련 문제