У меня возникла необходимость, чтобы мой пункт контекстного меню был активен только тогда, когда под курсором находится выделенный текст, т.е. так же, как и пункт меню "Копировать", другими словами, был бы активен одновременно с пунктом меню "Копировать". Не подскажите, как это реализовать или хотя бы, где прочитать ?
Здравствуйте, denisps, Вы писали:
D>У меня возникла необходимость, чтобы мой пункт контекстного меню был активен только тогда, когда под курсором находится выделенный текст, т.е. так же, как и пункт меню "Копировать", другими словами, был бы активен одновременно с пунктом меню "Копировать". Не подскажите, как это реализовать или хотя бы, где прочитать ?
Здравствуйте, vvlad.net, Вы писали:
VN>Здравствуйте, denisps, Вы писали:
D>>У меня возникла необходимость, чтобы мой пункт контекстного меню был активен только тогда, когда под курсором находится выделенный текст, т.е. так же, как и пункт меню "Копировать", другими словами, был бы активен одновременно с пунктом меню "Копировать". Не подскажите, как это реализовать или хотя бы, где прочитать ?
VN>Подробности в студию!
Написано, собственное ПО, анализирует выделенный текст.
Есть потребность вызывать ПО из контекстного меню,
и чтобы пункт меню был доступен/активен, только когда есть выделенный фрагмент текста, т.е по принципу "Копировать" и "Вырезать"
Здравствуйте, denisps, Вы писали:
D>У меня возникла необходимость, чтобы мой пункт контекстного меню был активен только тогда, когда под курсором находится выделенный текст, т.е. так же, как и пункт меню "Копировать", другими словами, был бы активен одновременно с пунктом меню "Копировать". Не подскажите, как это реализовать или хотя бы, где прочитать ?
В событии открытия меню прописываешь проверку: если выделенный текст есть, пункт Копировать.Enabled=true, иначе false.
Здравствуйте, denisps, Вы писали:
D>Здравствуйте, vvlad.net, Вы писали:
VN>>Здравствуйте, denisps, Вы писали:
D>>>У меня возникла необходимость, чтобы мой пункт контекстного меню был активен только тогда, когда под курсором находится выделенный текст, т.е. так же, как и пункт меню "Копировать", другими словами, был бы активен одновременно с пунктом меню "Копировать". Не подскажите, как это реализовать или хотя бы, где прочитать ?
VN>>Подробности в студию!
D>Написано, собственное ПО, анализирует выделенный текст. D>Есть потребность вызывать ПО из контекстного меню, D>и чтобы пункт меню был доступен/активен, только когда есть выделенный фрагмент текста, т.е по принципу "Копировать" и "Вырезать"
Что за контекстное меню? свое? проводник? Язык/фреймворк?
Здравствуйте, vvlad.net, Вы писали:
VN>Здравствуйте, denisps, Вы писали:
D>>Здравствуйте, vvlad.net, Вы писали:
VN>>>Здравствуйте, denisps, Вы писали:
D>>>>У меня возникла необходимость, чтобы мой пункт контекстного меню был активен только тогда, когда под курсором находится выделенный текст, т.е. так же, как и пункт меню "Копировать", другими словами, был бы активен одновременно с пунктом меню "Копировать". Не подскажите, как это реализовать или хотя бы, где прочитать ?
VN>>>Подробности в студию!
D>>Написано, собственное ПО, анализирует выделенный текст. D>>Есть потребность вызывать ПО из контекстного меню, D>>и чтобы пункт меню был доступен/активен, только когда есть выделенный фрагмент текста, т.е по принципу "Копировать" и "Вырезать"
VN>Что за контекстное меню? свое? проводник? Язык/фреймворк?
vvlad.net, программа по задумке, должна вызываться из любого места ( любой текстовый редактор, пакет MS Office, любой браузер, в проводнике и т.п) там где есть возможность скопировать/вырезать текст.
Т.е пользователь выделив фрагмент текста и нажав прав. кл. мыши вызывает контекстное меню (Копировать/Вставить/Вырезать) и к этой тройки мне хотелось бы добавить пункт меню вызова моей программы, т.е зарегистрировать программу в реестре, чтобы она появилась в контек.меню любой программы
Собственно, то что в любой программе реализуются собственные обработчики контекстного меню, это понятно.
Неужели обработчики команд меню "Копировать/Вставить/Вырезать" у каждой программы свои собственные? или они зарегистрированы в Windows единожды, так как они стандартные для текста, а прикладное ПО уже может обращаться и вызывать их?
Здравствуйте, denisps, Вы писали:
D>Неужели обработчики команд меню "Копировать/Вставить/Вырезать" у каждой программы свои собственные? или они зарегистрированы в Windows единожды, так как они стандартные для текста, а прикладное ПО уже может обращаться и вызывать их?
Обработчики свои собственные. Стандартным общим механизмом является лишь clipboard.
Можно сделать в своей программе постоянную проверку буфера обмена, и если там появляется текст, то как-то реагировать (без всяких контекстных меню). Или сделать, например, как в словаре Lingvo — при нажатии Ctrl+C+C — запускается (активируется) наша программа, и опять же берёт текст уже скопированный в буфер.
Здравствуйте, koodeer, Вы писали:
K>Здравствуйте, denisps, Вы писали:
D>>Неужели обработчики команд меню "Копировать/Вставить/Вырезать" у каждой программы свои собственные? или они зарегистрированы в Windows единожды, так как они стандартные для текста, а прикладное ПО уже может обращаться и вызывать их?
K>Обработчики свои собственные. Стандартным общим механизмом является лишь clipboard. K>Можно сделать в своей программе постоянную проверку буфера обмена, и если там появляется текст, то как-то реагировать (без всяких контекстных меню). Или сделать, например, как в словаре Lingvo — при нажатии Ctrl+C+C — запускается (активируется) наша программа, и опять же берёт текст уже скопированный в буфер.
Спасибо за ответ. Про вызов программы, я тоже уже пришел к выводу, что вызывать ее надо нажатием комбинаций клавиш, да и побыстрее будет, курсор не будет уходить от слова.
Спасибо!