:: Главная :: Решения :: Статьи :: Проект "Русский help" :: Файловый архив :: Фотоальбом :: Ссылки ::
   Л и с о в о д ы   в с е х   с т р а н,  о б ъ е д и н я й т е с ь !!!  


Форумы  :: FAQ FoxPro

Почему в готовом EXE не работает копирование по Ctrl+C, Ctrl+V
Дата: 29.06.05 20:49:24 ОтветитьЦитировать

Проблема

На этапе разработки приложения работало копирование через буфер обмена (горячие клавиши Ctrl+C, Ctrl+V), но в готовом файле EXE эти комбинации клавиш не работают. Как можно исправить эту ситуацию?

Причина

Эти комбинации горячих клавиш связаны с определенными пунктами системного меню. Если в Вашем приложении не предусмотрены данные пункты меню, то и не будет выполнено никаких действий для указанных комбинаций клавиш. Просто не указано, что именно должно выполняться.

Решение

Вам необходимо определить соответствующие пункты меню. Это все те пункты, которые определены в выпадающем меню для пункта системного меню Edit. Обычно этот пункт делается вторым пунктом основной линейки меню. Т.е. в Вашем файле для запуска основного меню должно быть примерно следующий код.

* Первый пункт основной линейки меню
DEFINE PAD _msm_edit OF _MSYSMENU PROMPT "Правка" COLOR SCHEME 3
* Прочие пункты основной линейки меню
DEFINE POPUP _medit MARGIN RELATIVE SHADOW COLOR SCHEME 4
DEFINE BAR _MED_UNDO OF _medit PROMPT "Отменить" ;
KEY CTRL+Z, "CTRL+Z"
DEFINE BAR _MED_REDO OF _medit PROMPT "Вернуть" ;
KEY CTRL+R, "CTRL+R"
DEFINE BAR _MED_SP100 OF _medit PROMPT "\-"
DEFINE BAR _MED_CUT OF _medit PROMPT "Вырезать" ;
KEY CTRL+X, "CTRL+X"
DEFINE BAR _MED_COPY OF _medit PROMPT "Копировать" ;
KEY CTRL+C, "CTRL+C"
DEFINE BAR _MED_PASTE OF _medit PROMPT "Вставить" ;
KEY CTRL+V, "CTRL+V"
DEFINE BAR _MED_CLEAR OF _medit PROMPT "Очистить"
DEFINE BAR _MED_SP200 OF _medit PROMPT "\-"
DEFINE BAR _MED_SLCTA OF _medit PROMPT "Выделить все" ;
KEY CTRL+A, "CTRL+A"

Если Вы делаете свое меню, используя, дизайнер меню, то

  • Присвоение имени "_msm_edit" производится в окне, которое появляется при нажатии кнопки в столбце "Options" напротив пункта меню "Правка"
  • Для присвоения имени выпадающего Popup-меню "_medit" в дизайнере меню войдите в подменю "Правка". Далее выберите пункт системного меню View, подпункт Menu Options и в графе Name впишите значение "_medit" (без кавычек, разумеется)
  • Для присвоения имен BAR-пунктам выберите в столбце Result дизайнера меню значение "Bar #" и впишите соответствующие имена в столбце для ввода команд
  • Комбинации горячих клавиш назначаются в окне, которое появляется при нажатии кнопки в столбце "Options" напротив соответствующего Bar-пункта меню

    Следует заметить, что для функционирования комбинаций горячих клавиш вовсе не обязательно активировать ранее определенное меню. Достаточно самого факта его определения.

    Впрочем, я бы рекомендовал все-таки его сделать, поскольку сам Pad-пункт главной линейки меню "_msm_edit" - это хорошая "привязка" для динамического добавления "контекстного" меню. Т.е. такого пункта меню, которое появляется только при активации определенных форм.



    Исправлено 1 раз(а). Последнее : Joys, 31.10.22 13:22
    Ratings: 0 negative/0 positive


  • Тема Просмотров Написано Написано
      Menu 5295 Владимир Максимов 01.03.05 21:56
      При запуске меню появляется сообщение о синтаксической ошибке 8258 Владимир Максимов 20.03.05 17:29
      Как добавить в меню список открытых окон 287233 Владимир Максимов 22.03.05 10:56
      Почему в готовом EXE не работает копирование по Ctrl+C, Ctrl+V 9268 Владимир Максимов 29.06.05 20:49
      Как изменить шрифт пунктов меню в дизайнере меню 8255 Владимир Максимов 12.11.05 21:28
      В готовом EXE все меню или его часть отображается не по русски 4403 Владимир Максимов 30.12.06 17:02


    Извините, но у вас нет прав для того, чтобы оставлять сообщения в этом форуме.

    On-line: 2 (Гостей: 2)

    © 2006 Fox Club 
    Яндекс.Метрика