|
Как вытягивать системные иконки типа SIID_SHIELD и вставлять в меню.
|
|||
---|---|---|---|
#18+
Поразвлекся. Научился вытягивать системные иконки (они на каждой OS свои). А то все в ресурсы обычно кладу. Особенно радует значок "Run As Admin". Наваял тест-проект, м.б. кому интересно -приложен. На XP это не работает, на всех новых без проблем. SHGetStockIconInfo function Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50.
Потом можно напр. конвертануть в альфа-битмап и запихнуть в меню. Хотя на "классическом" стиле проще рисовать через коллбэки: Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48.
А вот интересно, чтоб наляпать значок администратора на кнопку, достаточно одной команды: Код: vbnet 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
24.06.2014, 13:34 |
|
Как вытягивать системные иконки типа SIID_SHIELD и вставлять в меню.
|
|||
---|---|---|---|
#18+
.. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.06.2014, 13:36 |
|
Как вытягивать системные иконки типа SIID_SHIELD и вставлять в меню.
|
|||
---|---|---|---|
#18+
Развил чуть тему. Была такая известная в широких узких кругах ф-ция SetIcon: Providing a proper VB Application Icon, Including Large Icons and 32-Bit Alpha Images Делаю тоже самое, но иконку устанавливаю из SHSTOCKICONID: Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45.
Ну а далее: Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9.
Ну и не забываем подчистить за собой: Код: vbnet 1. 2. 3. 4. 5. 6.
В чем ошибка из того классического примера из акселератора, там авторы забыли напрочь про DestroyIcon, а удалять иконки пока они нужны нельзя -сотрет. Приложил тест. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.06.2014, 10:17 |
|
|
start [/forum/topic.php?fid=60&tid=2156296]: |
0ms |
get settings: |
7ms |
get forum list: |
11ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
179ms |
get topic data: |
13ms |
get forum data: |
2ms |
get page messages: |
34ms |
get tp. blocked users: |
1ms |
others: | 15ms |
total: | 268ms |
0 / 0 |