Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Программа и интерфейс
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

 
 
Опции темы Поиск в этой теме Опции просмотра
  #3  
Старый 27.09.2009, 21:47
Аватар для RusMaXXX
RusMaXXX RusMaXXX вне форума
Начинающий
 
Регистрация: 01.10.2008
Сообщения: 138
Версия Delphi: 7
Репутация: 21
По умолчанию

после обдумывания вышло так:

Код:
procedure TMainForm.CreateMenu(Data: TListBox);
  procedure AddIcon(Data: TListBox);
  var
    ID_Icon: TIcon;
    i, Index: word;
  begin
    Icon_Small.Clear;
    ID_Icon := TIcon.Create;
    if Data.Items.Count > 0 then
    begin
      for i := 0 to Data.Count - 1 do
      begin
        ID_Icon.Handle := ExtractAssociatedIcon(Hinstance, PChar(Data.Items.Strings[i]), Index);
        Icon_Small.AddIcon(ID_Icon);
      end;
    end;
  end;
var
  i, Index: Word;
  Item: TMenuItem;
  ID_Icon: TIcon;
begin
  if FileExists(GetWinDir +'\'+ ConfigFile) and (Data.Items.Count > 0) then
  begin
    AddIcon(Data);
    with ListPopupMenu.Items do
    begin
      AddIcon(Data);
      while Count > 0 do Items[0].Free;
      if Data.Count > 0 then
      begin
        for i := 0 to Data.Count - 1 do
        begin
          ID_Icon := TIcon.Create;
          ID_Icon.Handle := ExtractAssociatedIcon(Hinstance, PChar(Data.Items.Strings[i]), Index);
          Item := TMenuItem.Create(ListPopupMenu);
          Item.Caption := ExtractFileName(Data.Items.Strings [i]);
          Item.Tag := i;
          Item.ImageIndex := i;
          Item.OnClick := ActionMenu;
          Add(Item);
        end;
      end;
    end;
  end else
  begin
    with ListPopupMenu.Items do
    begin
      while Count > 0 do Items[0].Free;
      Add(NewItem('Нет программ', 0, False, False, nil, 0, 'MenuItem'))
    end;
  end;
end;
Ответить с цитированием
 


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 08:35.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025