Главная страницаОбратная связьКарта сайта

Прорисовка системных иконок на форме



'При использовании функции MsgBox вы также можете вывести одну из
'четырех иконок, которые заставляют пользователя обратить внимание. Данный
'пример как раз и позволяет вытащить системные иконки и расположить их на
'вашей форме.

Public Enum enStockIcons
IDI_APPLICATION = 32512&
IDI_CRITICAL = 32513&
IDI_QUESTION = 32514&
IDI_EXCLAMATION = 32515&
IDI_INFORMATION = 32516&
IDI_WINLOGO = 32517&
IDI_UNKNOWN = 32518&
End Enum

Private Declare Function LoadIconApi Lib "user32" Alias "LoadIconA" (ByVal hInstance As Long, ByVal lpIconName As Long) As Long
Private Declare Function DrawIconApi Lib "user32" Alias "DrawIcon" (ByVal hdc As Long, ByVal x As Long, ByVal y As Long, ByVal hIcon As Long) As Long

Private Sub Form_Paint()
Dim hIcon As Long

'здесь вы можете определить, какую иконку загрузить
hIcon = LoadSystemIcon(IDI_QUESTION)
If hIcon > 0 Then
'заменяя цифры 10,10 вы определяете месторасположение иконки на форме
Call DrawIcon(Me.hdc, 10, 10, hIcon)
End If
End Sub

Public Function LoadSystemIcon(ByVal StockIcon As enStockIcons) As Long
Dim lRet As Long
lRet = LoadIconApi(0, StockIcon)
If Err.LastDllError = 0 Then
LoadSystemIcon = lRet
End If
End Function

Public Sub DrawIcon(ByVal mHdc As Long, ByVal xPos As Long, ByVal yPos As Long, ByVal hIcon As Long)
Dim lRet As Long

lRet = DrawIconApi(mHdc, xPos, yPos, hIcon)
If (Err.LastDllError > 0) Or (lRet = 0) Then
Debug.Print "DrawIcon failed"
End If
End Sub


Обсудить статью на форуме


Если Вас заинтересовала или понравилась информация программирование на Visual Basic - "Прорисовка системных иконок на форме", Вы можете поставить закладку в социальной сети или в своём блоге на данную страницу:

Так же Вы можете задать вопрос по работе этого модуля или примера через форму обратной связи, в сообщение обязательно указывайте название или ссылку на статью!
   


Copyright © 2008 - 2017 Дискета.info