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

Вниз

Помогите вытащить символ   Найти похожие ветки 

 
Daken   (2002-11-26 07:15) [0]

Вообщем есть буквы казахского алфавита которых нет в латинице
или кирилице. Но в стандартном Times Roman они присутствуют
(коды Unicod"а от 0492 до 04E9) Неподскажите как можно их
использовать хотя бы в лэйбле


 
Alx2 ©   (2002-11-26 08:52) [1]

Использовать Функции прорисовки с UniCode (суффикс W)

В реализации TLabel сего нет. Там используется Ansi вариант.

procedure TCustomLabel.DoDrawText(var Rect: TRect; Flags: Longint);
var
Text: string;
begin
Text := GetLabelText;
if (Flags and DT_CALCRECT <> 0) and ((Text = "") or FShowAccelChar and
(Text[1] = "&") and (Text[2] = #0)) then Text := Text + " ";
if not FShowAccelChar then Flags := Flags or DT_NOPREFIX;
Flags := DrawTextBiDiModeFlags(Flags);
Canvas.Font := Font;
if not Enabled then
begin
OffsetRect(Rect, 1, 1);
Canvas.Font.Color := clBtnHighlight;
DrawText(Canvas.Handle, PChar(Text), Length(Text), Rect, Flags);
OffsetRect(Rect, -1, -1);
Canvas.Font.Color := clBtnShadow;
DrawText(Canvas.Handle, PChar(Text), Length(Text), Rect, Flags);
end
else
DrawText(Canvas.Handle, PChar(Text), Length(Text), Rect, Flags);
end;

где
function DrawText; external user32 name "DrawTextA"; // модуль Windows.

Несколько кривой путь к решению - заменить с помощью "разрешенных" приемов в отдельно взятом государстве
function DrawText; external user32 name "DrawTextW";
То есть написать умного и доброго наследника к TLabel с нужной спецификой. И работать с unicode. (WideString)

PS
Наверняка решение не единственно и не оптимально.



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

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

Наверх




Память: 0.47 MB
Время: 0.019 c
14-14781
[NIKEL]
2002-11-14 21:44
2002.12.05
У кого есть желание потестировать?


1-14492
Daken
2002-11-26 07:15
2002.12.05
Помогите вытащить символ


14-14752
Рыжик
2002-11-14 15:05
2002.12.05
Мышкино колесо


1-14527
sers
2002-11-26 16:01
2002.12.05
Защита своих исходников


1-14486
Memo
2002-11-25 21:31
2002.12.05
Заставка