![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Помогите разобраться с RichEdit! [D7]
DimaK © (2005-03-04 12:13:00)Привет всем, вот возникла такая проблемка:
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.
Это как-нибуть можно вылечить?
Заранее большое всем спасибо!
DimaK (2005-03-04 15:45:00) [1]Вот что в итоге получилось:
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 какой-то глюковатый, может кто знает аналог получше?
DimaK (2005-03-04 13:21:00) [2]В том-то и дело, я забыл написать что при включенной русской раскладке клавиатуры работает, но постоянно переключать раскладку как-то тупо, вот и хочу разобраться в чем дело.
Спасибо всем за участие, может есть еще какие-нибуть предложения.
Я так понимаю что проблема именно в кодировке, вчера целый день провозился, но так и не понял, в какой кодировке это выводится и почему.
clickmaker (2005-03-04 12:43:00) [3]
> BlackTr (04.03.05 12:29) [5]
при включенной русской раскладке клавиатуры работает
BlackTr (2005-03-04 12:29:00) [4]
>[3] clickmaker © (04.03.05 12:22)
> CharSet := RUSSIAN_CHARSET
Не помогает :)
Блин а какой код у WM_UNICHAR ?
begin...end (2005-03-04 12:25:00) [5]> Virgo_Style © (04.03.05 12:19) [2]
Вы видите существенную разницу?
clickmaker (2005-03-04 12:22:00) [6]
> RichEdit1 не понимает русскую кодировку?
CharSet := RUSSIAN_CHARSET
Virgo_Style (2005-03-04 12:19:00) [7]Даже представить боюсь, что такое
Integer(s2)...
Может,Integer(s1[1])?
BlackTr (2005-03-04 12:15:00) [8]А если попробовать в Unicode WM_UNICHAR ?
Может поможет ?