![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
![]() Привет. Возникла необходимость сделать такую фичу. К иконке CoolTrayIcon привязано PopupMenu1. Так же в папке с exe лежит ini-файл, с некоторой информацией, вида:
Код:
[Text] Название 1=Text1 Название 2=Text2 Название 3=Text3 Название 4=Text4 Название 5=Text5 ![]() а на клике была функция с копированием в буфер "Text"ов Код:
Clipboard.AsText:='Text1'; Последний раз редактировалось Emush, 24.06.2014 в 18:40. |
#2
|
||||
|
||||
![]() Код:
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. Жизнь такова какова она есть и больше никакова. Помогаю за спасибо. |