![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 12.02.2011
Сообщений: 15
|
![]()
Здравствуйте!
Подскажите, как правильно выполнить AutoHotkeys := maManual, чтобы убрать из названия пункта меню символ "&" В процедуре MM1_Click отлавливаю нажатие и в строке Name_Caption := (Sender as TMenuItem).Caption присутствует символ "&". Если он был бы только спереди, то проблем не было, но на разных ОС появляется в разных местах строки. DM.Q_Lnk.First; repeat i := i + 1; MI := TMenuItem.Create(DM.MM1_); with MI do begin Tag := i; OnClick := MM1_Click; Caption := DM.Q_Lnk.FieldByName('Name').AsStri ng; end; if DM.Q_Lnk.FieldByName('Path').AsStri ng <> '' then DM.N3.Add(MI); DM.Q_Lnk.Next; until DM.Q_Lnk.Eof; |
![]() |
![]() |
![]() |
#2 | |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
![]() Цитата:
если это TMainMenu, так ему и задайте: Код:
|
|
![]() |
![]() |
![]() |
#3 |
Пользователь
Регистрация: 12.02.2011
Сообщений: 15
|
![]()
Так пробовал DM.MM1_.AutoHotkeys := maManual не помогло.
Задача в следующем: Необходимо запуcкать программы из главного меню. Есть постоянное главное меню с готовыми разделами "MM1_" При нажатии на раздел, динамически подгружаются пункты меню из базы. Название пунктов и путь к программам пользователь заносит в базу самостоятельно. Постоянные пункты меню отслеживаю по MM1_.Tag := (Sender as TMenuItem).Tag. Пункты меню, где путь не прописан не выводятся. При вызове обработчика применяю фильтр: Name_Caption := (Sender as TMenuItem).Caption; Filter := 'Name = ''' + Name_Caption + '''' + ' And OwnerID = ' + IntToStr(Razdel); Shellexecute(Application .Handle, 'open', PChar('"' + Lnk.FieldByName('Path').AsString + '"'), nil, nil, Sw_ShowNormal); Придумал временное решение, а может постоянное. i := 0; repeat if Name_Caption[i] = '&' then Delete(Name_Caption, i, 1); i := i + 1; until i = Length(Name_Caption); Есть другой способ? Последний раз редактировалось V_a_d; 25.04.2012 в 17:14. |
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
MainMenu | _-Re@l-_ | Общие вопросы Delphi | 8 | 28.05.2010 23:28 |
Mainmenu | San4o | Общие вопросы Delphi | 7 | 24.09.2009 10:09 |
MainMenu | Simon..14 | Общие вопросы C/C++ | 4 | 26.04.2009 14:28 |
Динамическое MainMenu | dr.Chas | Общие вопросы Delphi | 4 | 24.06.2008 20:33 |
MainMenu | Небесный | Общие вопросы Delphi | 5 | 27.11.2007 23:17 |