Page 1 of 1

Id меню, выводимого "стандартными" функциями Far.Show и т.п.

Posted: Thu 27 Dec, 2018 23:28
by buniak_a_h
Подскажите, пожалуйста, есть ли способ определить факт, что МЕНЮ выведено функциями far.Show, Menu.Show и т.п. . Menu.Id содержит одни нули. При этом если МЕНЮ вызывалось функцией far.Menu({Id=...}...), то Menu.Id выводит нормальный (указанный при вызове) Guid МЕНЮ.

Id меню, выводимого "стандартными" функциями Far.Show и т.п.

Posted: Fri 28 Dec, 2018 10:04
by John Doe
buniak_a_h wrote:
Thu 27 Dec, 2018 23:28
Подскажите, пожалуйста, есть ли способ определить факт, что МЕНЮ выведено функциями far.Show, Menu.Show и т.п.
Нет.

Можно попросить автора добавить для far.Show отдельный Id, хотя как по мне, то для ваших задач достаточно регэкспом проверять наличие номеров.
buniak_a_h wrote:
Thu 27 Dec, 2018 23:28
Я набросал небольшой макрос
Было что-то такое уже: http://forum.farmanager.com/viewtopic.php?f=15&t=9686

Id меню, выводимого "стандартными" функциями Far.Show и т.п.

Posted: Fri 28 Dec, 2018 13:01
by buniak_a_h
John Doe wrote:
Fri 28 Dec, 2018 10:04
Можно попросить автора добавить для far.Show отдельный Id
А автор - это кто? Я думал, Вы один из... Или Вы имеете в виду виш на багтрекер?
John Doe wrote:
Fri 28 Dec, 2018 10:04
Было что-то такое уже
1. Спасибо. Но мне легче было написать, чем искать...
У меня практически тоже самое, но (а) я не убирал амперсанды и (б) они почему-то у меня не попадают в буфе. Возможно потому, что я использовал не диалоговый элемент,
С амперсандами, видимо, должно быть сложнее: надо анализировать наличие флага DIF_LISTNOAMPERSAND у вашего far.GetDlgItem(hDlg,1)

Id меню, выводимого "стандартными" функциями Far.Show и т.п.

Posted: Fri 28 Dec, 2018 18:49
by John Doe
buniak_a_h wrote:
Fri 28 Dec, 2018 13:01
отдельный Id
А автор - это кто? Я думал, Вы один из... Или Вы имеете в виду виш на багтрекер
Автор плагина, @Shmuel.
На багтрекер.