Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
100% загрузка системы при "работе" на фоне
|
|||
|---|---|---|---|
|
#18+
интересный "эффект" - запускаю под 8 фоксом свою прогу, захожу в горизонтальное меню, но ничего не выбираю - загрузка пару %. Сворачиваю окно фоксы - тут же загрузка 100%. Выхожу в фокс, сворачиваю - загрузка нормальная, пару процентов. Запускаю прогу, из меню запускаю форму - загрузка норма, сворачиваю - загрузка в норме. Выхожу из формы назад в основное меню, загрузка в норме, сворачиваю - загрузка 100%!!! Че за? ЗЫ 100% сразу после не конкретно сворачивания, а при последующей активации любого другого окна под виндами (ХРНЕ). В целом не обязательно даже сворачивать окно фоксы с прогой, достаточно просто перейти в другое окно и 100% загрузки обеспечено. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.01.2005, 10:30 |
|
||
|
100% загрузка системы при "работе" на фоне
|
|||
|---|---|---|---|
|
#18+
оказывается так фокса реагирует на меню созданное программой, а не построителем! А построителем построить меню по некоторым соображениям не получается. И вообще если менюпад называется по-русски то и поп"ап(сабменю) ему соответствующий тоже называется по-русски. Еще пады можно по-английски переназвать, а чего делать с поп"апами? Абсолютно идиотский построитель!!! Почему он думает, что я на каждый пад меню хочу назначить хот-кей? Сам его лупит кирилическим и сам же потом на этом спотыкается... что же делать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.01.2005, 11:12 |
|
||
|
100% загрузка системы при "работе" на фоне
|
|||
|---|---|---|---|
|
#18+
CTAC-KOчто же делать? Можно модифицировать генератор меню http://www.foxclub.ru/sol/index.php?act=view&id=138 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.01.2005, 11:15 |
|
||
|
100% загрузка системы при "работе" на фоне
|
|||
|---|---|---|---|
|
#18+
Спасибо! Но там решен вопрос с горячими клавишами, а этот вопрос я и сам догадался решить - просто вставил сочетания с латиницей в Options-ах. А вот основной проблемы это не решает. Если задавать пункт меню как SubMenu то создается попап названный кирилицей! И еще, я в программе могу создать бар от попапа с именем месяца, который выясняется в ходе программы. Это, например, пукт "Закрыть месяц декабрь". Тут название месяца меняется после исполнения этого пункта на следующий месяц. А генменю ведь забацает только статичные пункты. И еще. Если задать меню таким образом, то параллельно работает фокс как сам по себе, только системное меню у него мое, а так и комманд окно есть и тд и тп. А ежели програмно опеределять меню, то фокса неактивна. Но есть и тут вопросы - так меню срабатывает 1 раз - и все, прога идет дальше по тексту. Я сделал Exit=.f. do while not Exit acti menu _msysmenu enddo return а в меню выхода переменная Exit меняет значение на .Т. Криво наверное... Что посоветуете? Взять, чтоли, сделать форму как меню... Тоже не получится нормально... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.01.2005, 13:21 |
|
||
|
100% загрузка системы при "работе" на фоне
|
|||
|---|---|---|---|
|
#18+
Изменить имя Popup : -) Войдите внутрь того Popup, имя которого собираетесь изменить -) Пункт меню View, подпункт Menu Options. Раздел Name - это и есть имя Popup, которое будет создано при генерации меню Если по каким-то причинам, Вы переименуете Bar-пункт основной линейки меню, то имя Popup-меню автоматически поменяется на это измененное значение. Надо будет повторить все описанные манипуляции чтобы восстановить нужное имя Popup-меню Динамическое изменение заголовка Bar-пункта меню -) Устанавливаете имя для нужного Popup-меню, по приведенной выше схеме. Например, Вы указали имя MySample Теперь, в любом месте программы можно написать примерно такой код DEFINE BAR 1 OF MySample PROMPT "Новый текст" Это и есть переопределние текста первого сверху пункта Popup-меню. Правда, тут надо переопределить вообще все опции, какие есть. Например, если есть горячие клавиши или условие SKIP. Подробнее смотри HELP по этой команде. Управление приложением через меню : В главном стартовом файле пишешь что-то вроде DO MyMenu.mpr READ EVENTS В пункте меню "Выход" надо прописать команду CLEAR EVENTS ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.01.2005, 14:08 |
|
||
|
100% загрузка системы при "работе" на фоне
|
|||
|---|---|---|---|
|
#18+
ACTIVATE MENU (возможно, и POPUP тоже) и INKEY - две вещи, которые гарантированно грузят процессор, причем, насколько я понимаю, в этом плане от версии к версии ничего не менялось. SET SYSMENU AUTOMATIC (т.е. то, что делает построитель) - панацея от первого. А второе - и в FPD его нечасто приходилось использовать, а в VFP и вообще необходимости почти не вижу, да и не о нем речь сейчас ;-))). Кстати, имя для пункта меню как SubMenu, то есть попапа, можно и поменять на нормальный идентификатор на латыни. А уж хот-кеи - это известный глюк, не надо их по умолчанию оставлять, надо менять на латыницу. Или убирать. Кстати, и вид у меню, которое ACTIVATE MENU довольно попсовый, и работает не так, как win-меню. Кстати, построитель меню и в самом деле довольно многим не нравится, мне в том числе. Всегда программно пишу меню (причем многое при этом строю). Объекты, правда, здесь не использую, делаю процедурно, но многие делают и объектную обвязку меню. Очень хорошо выходит. К примеру, мы пишем: oSysMenu.oPopup("Form").oBar("Open").Skip = .F. А там выполняется команда: SET SKIP OF BAR Open OF MENU Form TO .F. PS: прошу прощения за возможные огрехи в синтаксисе ;-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.01.2005, 14:21 |
|
||
|
100% загрузка системы при "работе" на фоне
|
|||
|---|---|---|---|
|
#18+
ОГРОМНОЕ ВАМ СПАСИБО! Изменить имя Popup я догадывался что такое должно быть - для пада же ш есть. Но не догадался что оно в основном меню может находиться. Я рассудил что раз для пада есть опции где его имя можно задать то также и для пада должно быть. Динамическое изменение заголовка Bar-пункта меню принцип действий понятен, редефайн любого бара можно сделать в любое время. На практике еще не попробывал сейчас, но ранее именно так и действовал. Управление приложением через меню а вот этого просто не знал! А работает нормалёк, и 100% загрузки теперь нет! еще раз спасибо! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.01.2005, 15:09 |
|
||
|
100% загрузка системы при "работе" на фоне
|
|||
|---|---|---|---|
|
#18+
а еще вопрос - таким образом появляется меню, все пучком, но выбрать пункт меню можно только мышью. А как чтоб сразу подсвечен был 1 пункт меню? Тогда можно клавой выбирать. Я как частный случай заслал Keyboard"{ALT+A}", но такое срабатывает однократно, а после отработки по любому пункту опять берись за мышьяк :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.01.2005, 16:27 |
|
||
|
100% загрузка системы при "работе" на фоне
|
|||
|---|---|---|---|
|
#18+
Стандартная активация линейки меню через клавиатуру - это клавиша F10 или клавиша Alt (просто Alt без каких-либо дополнительных клавишь). Это стандарт. Почти такой же, как Help через F1. Ну, а если через команды, то это ACTIVATE MENU _MSYSMENU ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.01.2005, 16:47 |
|
||
|
100% загрузка системы при "работе" на фоне
|
|||
|---|---|---|---|
|
#18+
ACTIVATE MENU _MSYSMENU работает, но однократно, как я и писал - до отработки пункта меню, затем активируется окно проекта и клавишами двигаемся в нем. Если окна этого нет, то я вообще не знаю где курсор клавиатурный - но похоже что в тулбаре (надо его отключить тоже). видимо только отключение тулбара мне и поможет... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2005, 12:01 |
|
||
|
100% загрузка системы при "работе" на фоне
|
|||
|---|---|---|---|
|
#18+
сделал в проге Deactivate window stadard - это отключило стандартный фоксовый тулбар на время исполнения. Но все равно! Раз отработал пункт меню - и все. С клавы по меню не двигается! Что делать? Как сделать чтобы меню постоянно было доступно с клавы/активировано для движения по нему клавой? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2005, 12:21 |
|
||
|
100% загрузка системы при "работе" на фоне
|
|||
|---|---|---|---|
|
#18+
получается либо надо каждый раз нажимать Ф10 либо добавить в конец каждой подпрограммы активирование меню. Либо есть 3-й путь которого я не знаю? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2005, 12:25 |
|
||
|
100% загрузка системы при "работе" на фоне
|
|||
|---|---|---|---|
|
#18+
Попробуй вместо SET SYSMENU AUTOMATIC делать SET SYSMENU ON . Но не уверен, что 1) поможет и 2) при этом не возникнут другие глюки. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2005, 13:46 |
|
||
|
100% загрузка системы при "работе" на фоне
|
|||
|---|---|---|---|
|
#18+
не помогает... придется навэрна ф10 обучить жмакать... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2005, 14:09 |
|
||
|
100% загрузка системы при "работе" на фоне
|
|||
|---|---|---|---|
|
#18+
CTAC-KOполучается либо надо каждый раз нажимать Ф10 либо добавить в конец каждой подпрограммы активирование меню. Либо есть 3-й путь которого я не знаю? Существует такое понятие "горячая клавиша". Это одна клавиша или комбинация клавишь, которые автоматически вызывают определенный пункт меню вне зависимости от его уровня вложенности в иерархии меню-подменю. Сделайте назначение на наиболее активно используемые пункты меню. В этом случае не нужно активизировать собственно меню. Вызов пункта будет по горячей клавише. Это значительно быстрее чем двигаться по всей линейке меню. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2005, 14:15 |
|
||
|
100% загрузка системы при "работе" на фоне
|
|||
|---|---|---|---|
|
#18+
Ну так это и будет правильное поведение меню ;-) А так - общие комментарии: 1. Меню должно быть по возможности похоже на меню других Win-приложений. 2. Горячие клавиши должны быть по крайней мере на постоянные действия, со временем пользователи их запомнят. 3. Меню-центрированное приложение можно смело заменить на навигаторо-центрированное ;-). Т.е. в меню оставить только действия для работы с данными, окнами и т.д., а список форм, доступных для запуска в данной сессии, проводить через специальную форму-навигатор, реализованную, например, на базе Tree-View. 4. Ну и тулбары не игнорировать в качестве привычного пользователям элемента мышиного управления ;-))) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2005, 14:27 |
|
||
|
100% загрузка системы при "работе" на фоне
|
|||
|---|---|---|---|
|
#18+
вероятно так оно умнее, но есть одно но юзьверя не привыкшие хоткеи жать, а привыкшие они досовой прогой пользоваться где навигация в меню курсором. Иерархия меню несложная. Мышиного управления не было и привычных батонов в тулбаре тоже нету для них. Вобщем решил я покаместь в анлоад всех вызываемых из маню форм втулить keyb"{F10}". Так оно и работает... осталось втулить перед ретурном оставшихся подпрог. С другой стороны мож и надо хоты забадяжить да юзьверей обучить. Опять же но: все хоты работатют, по-идее, в совокупности альт+латиницы буква. И че? Теперь чтобы хот сработал надо в латиницу перейти и там обратно на кирилицу, чтоб инфу внести? Вроде как лишние телодвижения получаются... Или с альтом сработает хоть бы там что? проверил вот... срабатывает независимо от текущей раскладки... и самое интересное что нажатие на альт = Ф10. ну что ж. будем ваять хоты. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2005, 14:37 |
|
||
|
100% загрузка системы при "работе" на фоне
|
|||
|---|---|---|---|
|
#18+
Иногда мне кроме хот-кеев в меню приходилось дополнительно писать в коде после загрузки меню что-то подобное: (напр, в mainform.Init) Код: plaintext 1. Оказывается ON KEY LABEL <key> <command> работала надежнее (VFP5),но только приходилось в mainform.unload для нее писать очистку ON KEY LABEL <key> ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2005, 15:08 |
|
||
|
|

start [/forum/topic.php?fid=41&msg=32877307&tid=1595017]: |
0ms |
get settings: |
10ms |
get forum list: |
20ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
76ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
76ms |
get tp. blocked users: |
2ms |
| others: | 251ms |
| total: | 459ms |

| 0 / 0 |
