Как использовать в своей проге ресурсы других - конкретнее иконки? - 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
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д