Скажите плиз, как сделать чтобы вставляя русский текст в listbox или editbox отображались не знаки вопроса, а вставлялся русский текст корректно?
Этот топик читают: Гость
Ответов: 106
Рейтинг: 0
|
|||
карма: 0 |
|
Ответов: 4628
Рейтинг: 749
|
|||
Перед копированием текста в буфер обмена из оригинального поля ввода переключить раскладку клавиатуры на русский язык. После этого вставляться будет нормально.
|
|||
карма: 26 |
|
Ответов: 106
Рейтинг: 0
|
|||
Netspirit писал(а): Перед копированием текста в буфер обмена из оригинального поля ввода переключить раскладку клавиатуры на русский язык. После этого вставляться будет нормально.Ого, а по другому никак вообще? Просто пользователь не поймет... Скажет, чо за дичь такая)))) |
|||
карма: 0 |
|
Ответов: 4628
Рейтинг: 749
|
|||
Это глюк винды. Возникает когда текст копируется из юникодной программы в неюникодную.
Можно свою программу скомпилировать в Unicode, но для этого надо настроить у себя юникодные пакет и компиляторы HiAsm, плюс возможно переделать программу. Редактировалось 1 раз(а), последний 2021-09-24 14:02:03 |
|||
карма: 26 |
|
Ответов: 106
Рейтинг: 0
|
|||
Netspirit писал(а): Это глюк винды. Возникает когда текст копируется из юникодной программы в неюникодную и обратно.Можно свою программу скомпилировать в Unicode, но для этого надо настроить у себя юникодные пакет и компиляторы HiAsm, плюс возможно переделать программу. А переделкой компонентов нельзя обойтись? к примеру combobox.. Редактировалось 1 раз(а), последний 2021-09-24 01:06:29 |
|||
карма: 0 |
|
Ответов: 4628
Рейтинг: 749
|
|||
Нельзя, так как они являются надстройкой над стандартными оконными элементами Винды (полем ввода). Которая и обеспечивает работу комбинации 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, что и даёт "крякозябры". Редактировалось 3 раз(а), последний 2021-09-24 15:37:42 |
|||
карма: 26 |
|
Ответов: 783
Рейтинг: 168
|
|||
карма: 15 |
|
7