Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.03.20;
Скачать: CL | DM;

Вниз

Помогите разобраться с RichEdit!   Найти похожие ветки 

 
DimaK   (2005-03-04 12:13) [0]

Привет всем, вот возникла такая проблемка:

procedure TForm1.Button1Click(Sender: TObject);
 var s1: String;
     s2: Char;
begin
 s1:="г";
 s2:=s1[1];
 SendMessage(RichEdit1.Handle, WM_CHAR, Integer(s2), 0);
 SendMessage(Memo1.Handle, WM_CHAR, Integer(s2), 0);
end;

Почему Memo1 выводит все нормально, а RichEdit1 не понимает русскую кодировку?

Вывод типа RichEdit1.Text:=s2; не устраивает, так как сейчас именно так и работает, а надо выводить именно через SendMessage.

Это как-нибуть можно вылечить?

Заранее большое всем спасибо!


 
BlackTr   (2005-03-04 12:15) [1]

А если попробовать в Unicode WM_UNICHAR ?
Может поможет ?


 
Virgo_Style ©   (2005-03-04 12:19) [2]

Даже представить боюсь, что такое Integer(s2)...
Может, Integer(s1[1]) ?


 
clickmaker ©   (2005-03-04 12:22) [3]


>  RichEdit1 не понимает русскую кодировку?

CharSet := RUSSIAN_CHARSET


 
begin...end ©   (2005-03-04 12:25) [4]

> Virgo_Style ©   (04.03.05 12:19) [2]

Вы видите существенную разницу?


 
BlackTr   (2005-03-04 12:29) [5]


>[3] clickmaker ©   (04.03.05 12:22)
> CharSet := RUSSIAN_CHARSET

Не помогает :)
Блин а какой код у WM_UNICHAR ?


 
clickmaker ©   (2005-03-04 12:43) [6]


> BlackTr   (04.03.05 12:29) [5]

при включенной русской раскладке клавиатуры работает


 
DimaK   (2005-03-04 13:21) [7]

В том-то и дело, я забыл написать что при включенной русской раскладке клавиатуры работает, но постоянно переключать раскладку как-то тупо, вот и хочу разобраться в чем дело.
Спасибо всем за участие, может есть еще какие-нибуть предложения.
Я так понимаю что проблема именно в кодировке, вчера целый день провозился, но так и не понял, в какой кодировке это выводится и почему.


 
DimaK   (2005-03-04 15:45) [8]

Вот что в итоге получилось:

procedure TForm1.Button2Click(Sender: TObject);
 var s1: String;
     s2: Char;
begin
 s1:=Edit1.Text;
 AnsiToOEM(PChar(s1), PChar(s1));
 s2:=s1[1];
 RichEdit2.Font.Name:="Terminal";
 RichEdit2.Font.Charset:=OEM_CHARSET;
 RichEdit2.Font.Size:=12;
 SendMessage(RichEdit2.Handle, WM_CHAR, Integer(s2), 0);
 SendMessage(Memo1.Handle, WM_CHAR, Integer(s2), 0);
 Edit1.Clear;
end;

Только шрифт Terminal какой-то глюковатый, может кто знает аналог получше?



Страницы: 1 вся ветка

Текущий архив: 2005.03.20;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.054 c
1-1109827398
Domix
2005-03-03 08:23
2005.03.20
События при потере и поллучении фокуса


14-1109911949
TUser
2005-03-04 07:52
2005.03.20
Где живет зверек?


14-1109576048
DVM
2005-02-28 10:34
2005.03.20
Помогите потестировать скрипт PHP (разбор HTTP_USER_AGENT)


4-1107359335
grigory
2005-02-02 18:48
2005.03.20
Как узнать есть ли на форме панель?


9-1098281287
Vudu
2004-10-20 18:08
2005.03.20
Почему DelphiX притормаживает в ХР, а в 98 летает?