Για να πάρουμε το icon της εφαρμογής που συνεργάζεται με οποιοδήποτε αρχείο χρησιμοποιούμε την function SHGetFileInfo (http://support.microsoft.com/default.aspx?scid=kb;EN-US;319340)
ως εξής:
Public Structure SHFILEINFO
Public hIcon As IntPtr
Public iIcon As Integer
Public dwAttributes As Integer
<MarshalAs(UnmanagedType.ByValTStr, SizeConst:=260)> _
Public szDisplayName As String
<MarshalAs(UnmanagedType.ByValTStr, SizeConst:=80)> _
Public szTypeName As String
End Structure
Public Declare Auto Function SHGetFileInfo Lib "shell32.dll" _
(ByVal pszPath As String, _
ByVal dwFileAttributes As Integer, _
ByRef psfi As SHFILEINFO, _
ByVal cbFileInfo As Integer, _
ByVal uFlags As Integer) As IntPtr
Public Const SHGFI_ICON = &H100
Public Const SHGFI_SMALLICON = &H1
Public Const SHGFI_LARGEICON = &H0
Πολλές φορές μέσα στις εφαρμογές μας χρειάζεται σε κάποια Objects (ΠΧ Πελάτης) να επισυνάψουμε κάποια έγγραφα (όπως κείμενα Word, Excell, pdf, εικόνες κλπ),τα οποία θέλουμε να τα αποθηκεύσουμε σε κάποιο binary field ενός πίνακα στην βάση μας.
Δημιούργησα για το λόγο αυτό ένα Control που κάνει διαχείριση συνημένων εγγράφων, το οποίο εμφανίζει τα έγγραφα σε ένα ListBox εμφανίζοντας και το εικονίδιο της εφαρμογής που συνεργάζεται με αυτά.
Κατεβάστε τον κώδικα από εδώ , αποσυμπιέστε το αρχείο και ανοίξτε το Project TestApp
Από την εικαστική πλευρά του πράγματος, ίσως θα μπορούσε κανείς να χρησιμοποιήσει ToolBar. Επίσης θα μπορούσε κανείς να το συμπληρώσει έτσι ώστε να δέχεται εικόνες από Scanner ή από ψηφιακή κάμερα κλπ.
Σταύρος Βαλσάμης
Προγραμματιστής