Нельзя, так как они являются надстройкой над стандартными оконными элементами Винды (полем ввода). Которая и обеспечивает работу комбинации Ctrl+C/Ctrl+V и контекстного меню "Копировать"/"Вставить". Ну, попытаться перехватить комбинации клавиш или приделать своё меню - можно. А помещать текст в буфер обмена с помощью компонента Clipboard (попробовать).
Только что попробовал возпроизвести поведение на Windows XP - и не получилось. Копирование/вставка между Unicode и ANSI программами проходит успешно, хотя в буфере обмена видно что формат CF_TEXT сконвертированный неправильно (согласно CF_LOCALE для английского языка 0409h, лежащей там же). CF_UNICODETEXT содержит правильный текст.
Предполагаю, копируемый текст сохраняется в CF_UNICODETEXT, затем конвертируется в CF_TEXT для неюникодных программ с помощью кодировки CF_LOCALE (а CF_LOCALE соответствует текущей раскладке клавиатуры во время копирования). ANSI программы при вставке используют CF_TEXT, что и даёт "крякозябры".
Ответов: 4621
Рейтинг: 746
|
|||
карма: 26 |
|
Редактировалось 3 раз(а), последний 2021-09-24 15:37:42