Модераторы: Akina
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Иконку из EXE файла на Toolbar, Как связать начало с концом? 
:(
    Опции темы
Дмит
Дата 12.9.2006, 14:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 117
Регистрация: 21.4.2006
Где: г.Волгоград

Репутация: 1
Всего: 9



1
Извлекаю ассоциированные иконки из EXE файлов:
Private Declare Function ExtractAssociatedIcon Lib "shell32.dll" Alias "ExtractAssociatedIconA" _
(ByVal hInst As Long, _
ByVal lpIconPath As String, _
lpiIcon As Long) As Long
retur = ExtractAssociatedIcon(App.hInstance, "С:\portable.exe", 2)
 smile 
2
Связываю кнопку и иконкой в ImageList
Toolbar.Buttons(1).Image = 1

Подскажите промежуточные стадии, а именно как вставить иконку в ImageList (незаписывая её как файл на диск)?
PM MAIL WWW   Вверх
BorisVorontsov
Дата 12.9.2006, 19:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Thinker
**


Профиль
Группа: Комодератор
Сообщений: 714
Регистрация: 3.11.2005
Где: Молдавия, г. Киши нёв

Репутация: 5
Всего: 10



Код

DrawIconEx Me.hdc, 0, 0, retur, 0, 0, 0, 0, DI_NORMAL
DestroyIcon retur

ImageList.ListImages.Add 1, vbNullString, Me.Image



--------------------
[code=cpp]
const char *out = "|*0>78-,+<|"; size_t cc = char_traits<char>::length(out);
for (size_t i=0;i<cc;i++){cout<<static_cast<char>((out[i]^89));}cout<<endl;
[/code]
PM MAIL ICQ GTalk   Вверх
Дмит
Дата 13.9.2006, 00:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 117
Регистрация: 21.4.2006
Где: г.Волгоград

Репутация: 1
Всего: 9



Строка:
ImageList.ListImages.Add 1, vbNullString, Me.Image
Передаёт картинку с формы, если она была уже нарисована.
То. что рисует DrawIconEx, в ImageList не передаётся.
Может быть нужна настройка свойств формы? 
PM MAIL WWW   Вверх
BorisVorontsov
Дата 13.9.2006, 02:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Thinker
**


Профиль
Группа: Комодератор
Сообщений: 714
Регистрация: 3.11.2005
Где: Молдавия, г. Киши нёв

Репутация: 5
Всего: 10



AutoRedraw = False?

Это сообщение отредактировал(а) BorisVorontsov - 13.9.2006, 02:14


--------------------
[code=cpp]
const char *out = "|*0>78-,+<|"; size_t cc = char_traits<char>::length(out);
for (size_t i=0;i<cc;i++){cout<<static_cast<char>((out[i]^89));}cout<<endl;
[/code]
PM MAIL ICQ GTalk   Вверх
Дмит
Дата 15.9.2006, 22:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 117
Регистрация: 21.4.2006
Где: г.Волгоград

Репутация: 1
Всего: 9



Воспользовался Picture вместо формы, всё получилось:
Код

Private Declare Function ExtractAssociatedIcon Lib "shell32.dll" Alias "ExtractAssociatedIconA" (ByVal hInst As Long, ByVal lpIconPath As String, lpiIcon As Long) As Long
Private Declare Function DrawIconEx Lib "user32" (ByVal hdc As Long, ByVal xLeft As Long, ByVal yTop As Long, ByVal hIcon As Long, ByVal cxWidth As Long, ByVal cyWidth As Long, ByVal istepIfAniCur As Long, ByVal hbrFlickerFreeDraw As Long, ByVal diFlags As Long) As Long
Private Declare Function DestroyIcon Lib "user32" (ByVal hIcon As Long) As Long
   Private Const DI_MASK = &H1
   Private Const DI_IMAGE = &H2
   Private Const DI_NORMAL = DI_MASK Or DI_IMAGE

Private Sub Form_Load()
Dim retur As Long
   retur = ExtractAssociatedIcon(App.Hinstance, "C:\Program Files\Movie Maker\moviemk.exe", 2)
   DrawIconEx Picture1.hdc, 0, 0, retur, 0, 0, 0, 0, DI_NORMAL
   ImgList.ListImages.Add 2, vbNullString, Picture1.Image
   Toolbar.Buttons(2).Image = 2
   DestroyIcon retur
End Sub

AutoRedraw = True дл формы и Picture, также AutoSize = True.
PM MAIL WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "VB6"
Akina

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по VB обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • Используйте теги [code=vb][/code] для подсветки кода. Используйтe чекбокс "транслит" (возле кнопок кодов) если у Вас нет русских шрифтов.


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Akina.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | VB6 | Следующая тема »


 




[ Время генерации скрипта: 0.0441 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.