- Код: Выделить всё
Dim hIcon As Long
Dim hIcon2 As Long
Dim hIcon3 As Long
'так
hIcon = LoadIcon(0, IDI_EXCLAMATION)
DrawIcon Picture1.hDC, 0, 0, hIcon
'или так
hIcon2 = LoadIcon(0&, IDI_EXCLAMATION)
DrawIconEx Picture2.hDC, 0, 0, hIcon2, 0, 0, 0&, 0&, DI_NORMAL
'еще вот так
hIcon3 = LoadIcon(0&, IDI_EXCLAMATION)
DrawIconEx Picture3.hDC, 0, 0, hIcon3, 48, 48, 0&, 0&, DI_NORMAL
Проблема в том, что на 7 винде при размере системных шрифтов 150% иконки таким макаром рисуются мелкие и растягиваются, в то время, как системное MsgBox "Test", vbExclamation выдает нормальную крупную.
Прилагаю тестовый примерчик, для проверки надо увеличить шрифт системы до 150% и нажать тестовую кнопку для вызова системного сообщения или можно со скриншотом сравнить, который в главное окно вставил. Выдранные иконки будут мелкими, две из них растянуты до 48, а системная в сообщении будет крупная и нормальная.
Есть идеи, как получить крупную иконку программно?
Скриншот: http://savepic.ru/10039488.jpg