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

Delphi Sources



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

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 24.06.2014, 18:30
Emush Emush вне форума
Прохожий
 
Регистрация: 24.06.2014
Сообщения: 1
Версия Delphi: Delphi 7
Репутация: 10
Радость Подпункты Popup из .ini

Привет. Возникла необходимость сделать такую фичу. К иконке CoolTrayIcon привязано PopupMenu1. Так же в папке с exe лежит ini-файл, с некоторой информацией, вида:
Код:
[Text]
Название 1=Text1
Название 2=Text2
Название 3=Text3
Название 4=Text4
Название 5=Text5
Необходимо, чтоб при открытие программы (OnCreate) формировались подпункты, с "Названиями"

а на клике была функция с копированием в буфер "Text"ов
Код:
Clipboard.AsText:='Text1';

Последний раз редактировалось Emush, 24.06.2014 в 18:40.
Ответить с цитированием
  #2  
Старый 24.06.2014, 23:57
Аватар для Страдалецъ
Страдалецъ Страдалецъ вне форума
Гуру
 
Регистрация: 09.03.2009
Адрес: На курорте, из окна вижу теплое Баренцево море. Бррр.
Сообщения: 4,723
Репутация: 52347
По умолчанию

Код:
unit Unit28;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, Menus, StdCtrls;

type
  TForm28 = class(TForm)
    procedure FormCreate(Sender: TObject);
    procedure PopupMenuItemClick(Sender: TObject);
  end;

var
  Form28: TForm28;

implementation
 Uses IniFiles, Clipbrd;

{$R *.dfm}

procedure TForm28.FormCreate(Sender: TObject);
Var
  IniFile: TIniFile;
  IniSection: TStringList;
  SubMenu: TMenuItem;
  i: Integer;
begin
 PopupMenu := TPopupMenu.Create(Self);
 PopupMenu.AutoHotkeys := maManual;
 PopupMenu.Items.Add(TMenuItem.Create(Self));
 SubMenu := PopupMenu.Items[PopupMenu.Items.Count - 1];
 SubMenu.Caption := 'Text';

 IniSection := TStringList.Create;
 IniFile := TIniFile.Create(ExtractFilePath(ParamStr(0)) + 'IniFile.ini');
 IniFile.ReadSection('Text', IniSection);

 for i := 0 to IniSection.Count - 1
 do begin
    SubMenu.Add(TMenuItem.Create(Self));
    SubMenu.Items[SubMenu.Count - 1].Caption := IniFile.ReadString('Text', IniSection.Strings[i], '');
    SubMenu.Items[SubMenu.Count - 1].OnClick := PopupMenuItemClick;
    end;
 IniSection.Free;
 IniFile.Free;
end;

procedure TForm28.PopupMenuItemClick(Sender: TObject);
begin
 Clipboard.Open;
 Clipboard.AsText := TMenuItem(Sender).Caption;
 Clipboard.Close;
end;

end.
__________________
Жизнь такова какова она есть и больше никакова.
Помогаю за спасибо.
Ответить с цитированием
  #3  
Старый 25.06.2014, 09:07
MotoArhangel MotoArhangel вне форума
Новичок
 
Регистрация: 14.10.2012
Сообщения: 58
Версия Delphi: Delphi 10.4
Репутация: 10
По умолчанию

По мне удобнее: fw tray
Ответить с цитированием
Ответ


Delphi Sources

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

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

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

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


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


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

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