- Код: Выделить всё
- 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



 
 