Вверх ↑
Ответов: 4621
Рейтинг: 746
#1: 2021-09-24 14:52:27 ЛС | профиль | цитата
Нельзя, так как они являются надстройкой над стандартными оконными элементами Винды (полем ввода). Которая и обеспечивает работу комбинации 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, что и даёт "крякозябры".


карма: 26

0
Редактировалось 3 раз(а), последний 2021-09-24 15:37:42