Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 26.03.2011, 18:18   #1
Don Karleone
Форумчанин
 
Регистрация: 05.04.2010
Сообщений: 410
По умолчанию Извлечение пиктограммы из файла и добавление ее в ImageList

Здравствуйте уважаемые форумчане. Хочу извлечь пиктограмму из файла и добавить ее в пункт меню своей проги. Делаю следующим образом: извлекаю пиктограмму функцией ExtractAssociateIcon(), добавляю ее в ImageList а у пункта меню поле ImageIndex:=0.
Возник вопрос, как избавиться от черного фона. На рисунке он отмечен стрелкой с "?".

код:
Код:
procedure TForm1.Button1Click(Sender: TObject);
var
  Icon: TIcon;
  i: word;
begin
  if OpenDialog1.Execute
    then
        begin
          Icon:=TIcon.Create;
          i:=0;
          ImageList1.Clear;
          Image1.Canvas.FillRect(Image1.ClientRect);
          Icon.Handle:=ExtractAssociatedIcon(Handle,
                                             PChar(OpenDialog1.FileName),
                                             i);
          ImageList1.AddIcon(Icon);
          DrawIcon(Image1.Canvas.Handle, 0, 0, Icon.Handle);
          Icon.Free;
        end;
end;
Изображения
Тип файла: jpg Image.jpg (8.7 Кб, 135 просмотров)
ICQ: 593-013-807
Don Karleone вне форума Ответить с цитированием
Старый 26.03.2011, 21:12   #2
Don Karleone
Форумчанин
 
Регистрация: 05.04.2010
Сообщений: 410
По умолчанию

так загружаю пиктограмму в список изображений, который связан с меню.
Код:
ImageList1.AddIcon(Icon);
а отрисовку в image1 я использую просто так. Эта прорисовка выполняется функцией DrawIcon(). Вопрос в том, что при использовании пиктограммы из ImageList в пункте меню появляется черынй фон.
ICQ: 593-013-807
Don Karleone вне форума Ответить с цитированием
Старый 26.03.2011, 23:22   #3
Don Karleone
Форумчанин
 
Регистрация: 05.04.2010
Сообщений: 410
По умолчанию

Люди, откликнитесь...., помогите......
ICQ: 593-013-807
Don Karleone вне форума Ответить с цитированием
Старый 26.03.2011, 23:55   #4
asmodey1
Подтвердите свой е-майл
 
Регистрация: 19.12.2010
Сообщений: 808
По умолчанию

А вот эта заливка цветом по умолчанию (а, возможно, и установленным где-то черным) зачем ?
Код:
Image1.Canvas.FillRect(Image1.ClientRect);
Может, нужно все-таки
Код:
Image1.Picture:=nil;
?
asmodey1 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
пиктограммы TreeView!!! Swatch Microsoft Office Access 1 24.03.2011 18:52
Delphi Извлечение данных из файла txt ledenec Помощь студентам 2 07.04.2010 18:19
извлечение из своего тела exe файла Titan123 Общие вопросы Delphi 4 22.10.2008 19:17
Извлечение RGB пикселей из bmp-файла St0ne-c0ld Фриланс 7 16.10.2008 18:27
Извлечение файлов проекта из .exe файла shtuceron Общие вопросы Delphi 3 25.05.2008 18:01