Как использовать в своей проге ресурсы других - конкретнее иконки? - VB
Формулировка задачи:
Как использовать в своей проге ресурсы других - конкретнее иконки? Ну ведь винды извлекают для ярлыков иконки из ехе файлов и как сделать что бы прога которая уже готова и умеет создавать в себе ярлыки на другие проги и хранить их в своем окне - как сделать что бы эти ярлыки отображались не моими припасенными значками а иконками из файлов на которые ссылаются - ведь путь то известен. как извлечь этот ресурс?
Решение задачи: «Как использовать в своей проге ресурсы других - конкретнее иконки?»
textual
Листинг программы
Private Declare Function ExtractIconEx Lib 'shell32.dll' Alias 'ExtractIconExA' (ByVal lpszFile As String, ByVal nIconIndex As Long, phiconLarge As Long, phiconSmall As Long, ByVal nIcons As Long) As Long Private Declare Function DrawIcon Lib 'user32' (ByVal hdc As Long, ByVal x As Long, ByVal y As Long, ByVal hIcon As Long) As Long Private Declare Function DestroyIcon Lib 'user32' (ByVal hIcon As Long) As Long Private Sub Form_Load() Me.ScaleMode = vbPixels Me.BackColor = &HFF0000 Me.Width = (32 * 15 + 10) * Screen.TwipsPerPixelX Me.Height = (32 * 10 + 10) * Screen.TwipsPerPixelY Me.Top = Screen.Height / 2 - Me.Height / 2 Me.Left = Screen.Width / 2 - Me.Width / 2 Me.Caption = 'Èêîíêè, èçâëå÷¸ííûå èç SHELL32.DLL' End Sub Private Sub Form_Paint() Dim mIcon As Long, Cnt As Long Me.Cls For j = 0 To Me.ScaleHeight / 32 For Cnt = 0 To Me.ScaleWidth / 32 - 1 ExtractIconEx 'shell32.dll', Cnt + Int(j * Me.ScaleWidth / 32), mIcon, ByVal 0&, 1 DrawIcon Me.hdc, 32 * Cnt, Me.CurrentY, mIcon DestroyIcon mIcon Next Cnt Me.CurrentY = Me.CurrentY + 32 Next j End Sub Private Sub Form_Resize() Form_Paint End Sub 'Удачи! 'easy
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д