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

Вниз

Delphi7, XPManifest, TGroupBox - отображение кириллицы. Решение!   Найти похожие ветки 

 
neodiX ©   (2004-03-31 11:40) [0]

Почему то в D7, используя манифест (без разницы стандартный компонент или вы сами приклеиваете его как ресурс) на компоненте TGroupBox кириллица отображается не правильно, притом не зависимо от названия фонта или charset. Так вот я решил эту проблему модифицируя код в файле StdCtrls.pas в процедуре procedure TCustomGroupBox.Paint;, примерно на 1366 строке. После исправления код должен выглядеть так:
if Text <> "" then begin
 //ThemeServices.DrawText(Handle, Details, Text, CaptionRect, DT_LEFT, 0);
 Brush.Style:= bsClear;
 DrawText(Handle, PChar(Text), Length(Text), CaptionRect, DT_LEFT or DT_SINGLELINE);
end;  


Так было:
ThemeServices.DrawText(Handle, Details, Text, CaptionRect, DT_LEFT, 0);

Это добавил:
 Brush.Style:= bsClear;
 DrawText(Handle, PChar(Text), Length(Text), CaptionRect, DT_LEFT or DT_SINGLELINE);


Не вдавался я в подробности, как делает ThemeServices.DrawText, но делал он это не правильно.
Так вот, может так делать нельзя, но главное что такой вариант работает.

Проверьте есть у вас такая проблема. В случае одобрения закину решение в FAQ.


 
Algol   (2004-03-31 11:53) [1]


> Проверьте есть у вас такая проблема


Проверил. Такой проблемы нет. Все отображается вполне нормално.


 
neodiX ©   (2004-03-31 11:56) [2]

Интересно..

Algol, a у тебя D7 с пачами?


 
Algol   (2004-03-31 12:05) [3]

Без патчей v7.0 build 4.453


 
Игорь Шевченко ©   (2004-03-31 13:45) [4]

neodiX ©   (31.03.04 11:40)


> Так вот я решил эту проблему модифицируя код в файле StdCtrls.pas
> в процедуре procedure TCustomGroupBox.Paint;, примерно на
> 1366 строке.


НЕ ТРОЖЬ ГЕНОФОНД!!!

Лучше унаследуй свой компонент и перепиши там метод Paint


 
neodiX ©   (2004-03-31 14:15) [5]

2 Игорь Шевченко

:)

можно и так, а я просто скопировал оригинальный StdCtrls.pas в каталог с проэктом.



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

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

Наверх




Память: 0.48 MB
Время: 0.042 c
3-1080037845
}|{yk
2004-03-23 13:30
2004.04.18
Поддержание синхронности БД


14-1080463138
guest_Dmitry
2004-03-28 12:38
2004.04.18
Кто устанавливал fibplus под kylix?


1-1080434014
Dimedroll
2004-03-28 04:33
2004.04.18
-= Можно ли все Error ловить своей проги посредством WinAPI =-


1-1080562864
~all
2004-03-29 16:21
2004.04.18
Подскажите как удалить непустую директорию.


3-1079591866
ceval
2004-03-18 09:37
2004.04.18
при нажатии кнопки появлялась форма для поиска