Форум: "Основная";
Текущий архив: 2005.03.20;
Скачать: [xml.tar.bz2];
ВнизПомогите разобраться с 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;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.031 c