리스트뷰에서 항목을 선택하면 썸네일을 생성해주는 코드
나름 애먹었던 코드다.
PDF도 썸네일을 생성하고 싶은데 이건 아크로벳이 설치되어 있어야하는 모양.
Public Function ThumbnailCallback() As Boolean
'썸네일 이미지에 사용되는 함수
Return False
End Function
Private Sub lvView_SelectedIndexChanged(sender As Object, e As EventArgs) Handles lvView.SelectedIndexChanged
'리스트뷰에서 리스트 선택 시 썸네일 보여주기
Dim strFolder As String
Dim strFilename As String
Dim strExtention As String
Dim strFilePath As String
Dim imgTemp As Image
Dim myCallback As New Image.GetThumbnailImageAbort(AddressOf ThumbnailCallback)
If lvView.SelectedItems.Count = 1 Then '리스트뷰에서 하나만 클릭했을 때 실행
With lvView.FocusedItem
strFolder = .SubItems(0).Text & "\"
strFilename = .SubItems(1).Text
strExtention = .SubItems(2).Text
End With
strFilePath = strFolder & strFilename & strExtention
'이미지 파일과 pdf 파일 구분
Select Case strExtention
Case ".pdf" 'pdf일 때 썸네일 생성(아크로벳 있어야함. 리더X)
Case Else '이미지파일일 때 썸네일 불러오기
imgTemp = imgTemp.FromFile(strFilePath)
pbView.Image = imgTemp.GetThumbnailImage(pbView.Width, pbView.Height, myCallback, IntPtr.Zero)
End Select
Else '하나도 선택 안 하거나 두개 이상 선택하면 미리보기 없음
pbView.Image = Nothing
End If
End Sub
'VB(A)' 카테고리의 다른 글
[VB.net] 리스트뷰에서 제목열 클릭 시 오름/내림차순 정렬 (0) | 2016.07.13 |
---|---|
[VB.net] 파일 중복 시 이름 변경하여 업로드 (0) | 2016.07.13 |
[VB.net] 리스트뷰에서 선택한 리스트를 삭제 (0) | 2016.07.13 |
[VB.net] 파일 선택 후 리스트뷰에 종류별로 분할하여 출력하기 (0) | 2016.07.13 |
새로운 시작 (0) | 2016.07.11 |