|
: 리스트 뷰를 리스트에서 큼 아이콘 작은 아이콘 하면 해당 아이콘들이 생기자나요...
: 동적으로 뽑아내서 리스트뷰에다가 뿌리는것 같은데...
:
: 어떻게 하는지요
:
: 아직 서툴러서 자꾸 질문만 하게 되네요...^^;;
:
: 트리콘트롤에 네트웤 추가하는 방법도 아시는분 좀 부탁드립니다...
:
: 쑥스럽네요 휘리릭 ^^;;....
임펠리테리입니다.
아래에 질문하신 내용에도 답변했듯이, ExtractIcon()이나 ExtractIconEx() 함수, 그리고
ShGetFileInfo() 등의 함수를 사용하면 파일의 아이콘을 빼 올 수 있습니다.
이런 함수들은 모두 API 함수들이므로 빌더에서 사용하기 편한 TIcon이 아닌 HICON, 즉 API 표준
핸들을 리턴합니다. 그러므로 직접 TIcon 객체를 생성한 후 생성된 객체의 Handle 프로퍼티에
위의 함수들로부터 리턴받은 핸들을 넣어주면 됩니다.
간단한 예를 보면,
TIcon *NewIcon = ExtractIcon(HInstance, "파일의 전체경로", 0);
ImageList1->AddIcon(NewIcon);
이렇게 하면 이미지리스트에 지정한 파일의 첫번째 아이콘이 추가됩니다.
참고로, ExtractIcon()함수의 마지막 인자로 -1을 넘겨주면 그 파일이 가지고 있는 아이콘의
총 갯수를 리턴합니다.
폴더 리스트에 네트워크 부분을 구현하는 것은 상당히 복잡합니다. 저도 해본 적은 없구요.
네트웍이 포함된 폴더 리스트를 구현하는 것은 많은 프로그래머들의 화두였는데, 얼마전에
하이텔의 덻마당에 올려진 자료중에서 그것을 구현한 컴퍼넌트를 본 적이 있습니다.
외국에서 만든 공개 컴퍼넌트였던 것 같습니다.
마지막으로.. 김봉만님께 한마디.
만약 실무에 쓰실 생각으로 탐색기 기능을 구현하려고 하시는 거라면, 탐색기와 똑같이 만들려고
시도하는 것은 제 생각에는 시간 낭비입니다. 물론 하실 수 없다고 말하는 것은 아닙니다.
하지만 그것을 직접 구현하려고 하는 시간의 가치를 생각한다면, 다른 분들이 만들어놓은
서드파티 컴퍼넌트를 사용하는 것이 훨씬 낫다는 말입니다. 이미 몇년전부터 탐색기 관련 컴퍼넌트
들이 많이 개발되어서, 지금에 있어서는 오히려 탐색기 자체에 있는 기능보다 더 나은 것들조차도
나오고 있습니다. 이런 컴퍼넌트들은 그다지 비싸지도 않구요.
그럼 참고하시길...
|