Delphi + Windows UNICODE = ?
От: xitsmex  
Дата: 22.07.06 06:56
Оценка:
Здравствуй, ALL!

Имеется следующая проблема: кладем на форму Edit, задаем FONT -> CHARSET -> GREEK_CHARSET. Теперь мы не можем ввести ничего кроме как на греческом чарсете, нажимание клавиатуры в русской раскладке так же вводит греческие буквы, согласен, мы же не в UNICODE, именно это поведение мне и нужно. Теперь кладем на форум милый компонент XPManifest, заменив тем самым библиотеку работы с компонентам и обнаруживаем, что текст можно вводить в Edit на РАЗНЫХ языках и в РАЗНЫХ чарсетах, но вот при преобразовании его в Tedit.text, имеющий тип string из типа WideString внутри windows используется кодовая страница языка, выбранного в региональных настройках как язык для non-unicode программ, соответственно, вместо греческого получаем ??. (Например, присваивая label1.caption := Edit1.text.) Ситуация усложняется тем, что это не обычный Edit, а cxInnerTextEdit от DevExpress, находящийся внутри cxTextEdit и VeticalGrid. Данную проблему (с вводом греческого языка, да, кстати, проблема состоит в том, чтобы ракзрешить пользователю набирать только на одном языке, а потом получить этот текст не ввиде вопросов, можно в ввиде UNICODE) я решил, унаследовав cxInnerTextEdit от TnTCustomEdit (TnTWare Delphi UNICODE Controls), а точнее — от его производного класса, который теперь служит преобразователем задание текста в ANSI -> конвертация в UNICODE -> ввод текста в UNICODE -> конвертация в ANSI. Но обнаружилось, что так же надо сделать и для Memo с его TMemoString и для некоторых других компонентов. Хотелось бы узнать вот что:
1. Можно ли вытащить UNICODE текст из этого нового Edit? SendMessageW не помогает, длину Result ставит нормальную, а пишет туда бред. Windows, несмотря на явную UNICOD`ность окна, на IsWindowUnicode возвращает false. А то решение с преобразованием вовсе не эстетично.
2. Может, кто-то прикручивал к DevExpress хоть немножео UNICODE?
Re: Delphi + Windows UNICODE = ?
От: kochmin_alexandr Россия  
Дата: 22.07.06 09:29
Оценка:
x> 2. Может, кто-то прикручивал к DevExpress хоть немножео UNICODE?

https://www.devexpress.com/Support/Center/ViewIssue.aspx?issueid=DQ8951&searchtext=unicode

--
С уважением
Кочмин Александр
Posted via RSDN NNTP Server 2.1 beta
Re[2]: Delphi + Windows UNICODE = ?
От: Аноним  
Дата: 22.07.06 09:54
Оценка:
Здравствуйте, kochmin_alexandr, Вы писали:

x>> 2. Может, кто-то прикручивал к DevExpress хоть немножео UNICODE?


_>https://www.devexpress.com/Support/Center/ViewIssue.aspx?issueid=DQ8951&searchtext=unicode


_>--

_>С уважением
_>Кочмин Александр

Спасибо за линк! Почитал. Но, как я понял, решения все еще нет. Эх. Жаль. В связи с продажей IDE, думаю, VCL можно пророчить скорое затмение? Хотя, все зависит от покупателя. А пока придется ждать и придумывать извращенные способы.
Re[3]: Delphi + Windows UNICODE = ?
От: kochmin_alexandr Россия  
Дата: 22.07.06 10:04
Оценка:
А> Спасибо за линк! Почитал. Но, как я понял, решения все еще нет. Эх.
А> Жаль. В связи с продажей IDE, думаю,

никто IDE никуда не продает
http://ibsurgeon.blogspot.com/2006/06/12.html

--
С уважением
Кочмин Александр
Posted via RSDN NNTP Server 2.1 beta
Re[4]: Delphi + Windows UNICODE = ?
От: Аноним  
Дата: 22.07.06 10:46
Оценка:
Здравствуйте, kochmin_alexandr, Вы писали:

А>> Спасибо за линк! Почитал. Но, как я понял, решения все еще нет. Эх.

А>> Жаль. В связи с продажей IDE, думаю,

_>никто IDE никуда не продает

_>http://ibsurgeon.blogspot.com/2006/06/12.html

_>--

_>С уважением
_>Кочмин Александр

Спасибо за инфу! Думаю, в любом месте сбора людей, юзающих Delpih это в последнее время было актуальной темой.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.