자유롭게 질의 및 응답을 할 수 있는 게시판입니다. 개발자 여러분의 답변이 큰 도움이 됩니다.
- 제품설치/등록 오류 문의: 설치/등록 Q&A 이용 (제품 구매 고객 한정)
Delphi listbox의 multiselect 속성 접근
2015.12.28 20:47
리스트박스 아이템을 길게누르면 다중선택이 되고 삭제버튼을 누르면 다중선택이 안되게 하려는데요
타이머이벤트에서 multiselect속성을 true하는 건되는데
삭제버튼클릭 이벤트에서 listbox1.multiselect := False; 이 부분에서 Segmentation Fault 에러가 납니다.
그 이유가 뭔지 궁금합니다.
그리고 multiselectstyle의 none, default, extended 각각의 차이점이 뭔지도 궁금해요~
Delphi listbox의 multiselect 속성 접근
2015.12.28 20:47
리스트박스 아이템을 길게누르면 다중선택이 되고 삭제버튼을 누르면 다중선택이 안되게 하려는데요
타이머이벤트에서 multiselect속성을 true하는 건되는데
삭제버튼클릭 이벤트에서 listbox1.multiselect := False; 이 부분에서 Segmentation Fault 에러가 납니다.
그 이유가 뭔지 궁금합니다.
그리고 multiselectstyle의 none, default, extended 각각의 차이점이 뭔지도 궁금해요~
멀티로 아이템이선택된 상태에서는 listbox1.multiselect := False가 적용 안되기 때문에 선택된 아이템을 다음과 같이 해제하시고
ListBoxitem1.IsSelected := false;
listbox1.multiselect := True로 주시면 됩니다.
MultiSelectStyle은 none은 멀티 선택이 안되는 옵션이고
Defalut는 Ctrl, Shift 키로 우리가 보통 선택하는 방식으로 멀티가 선택되고
extended는 클릭하면 멀티가 선택됩니다.
MultiSelectStyle이 None이 아닌 경우 ListBox1.SelectRange(Listboxitem1, Listboxitem3); 이런 범위 지정 멀티 선택이 가능합니다..
두개의 속성을 같이 사용하지는 않습니다.
예를 들어 MultiSelectStyle 속성을 extended 로 설정하고 다시
listbox1.multiselect := True로 지정하면 클릭만으로 여러 항목 선택 안됩니다.