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

Вниз

Unicode Caption/Hint   Найти похожие ветки 

 
thevalery ©   (2006-11-15 16:01) [0]

Пробовал ли кто-нибудь сделать сабж? Если просто переопределить оба свойства на widestring - оба поля теряются (точнее - если обратиться к компоненту как к TControl - будут вызываны старые !!! обработчики, как результат, к примеру, - не работает хинт). Как-то это решено в TNT пакете, но так там наверчено, что фиг разберешься. Во всяком случае, просто повторить их простейший лейбл (тупым копированием кода) не вышло... Кто что знает по этому поводу?


 
Rouse_ ©   (2006-11-21 10:14) [1]

Я в хинте поддержку юникода делал вот так: http://rouse.drkb.ru/files/fwhint.zip
как раз чтобы работал с TNT контролами...


 
thevalery ©   (2006-12-06 15:58) [2]

Спасибо. Вывернулся примерно в том же направлении - через свой THintWindow и пару трюков (включая получение информации о свойствах контрола и их типах). А с капшинами обошлось обработкой WM_GETTEXT/WM_SETTEXT (для полной совместимости). Одно непонятно - зачем в TNT так сложно накручено? Особенно непонятно наличие своего глобального хранилища юникодовых свойств для всех компонентов сразу... Ну да ладно. Вывернулся, работает, и вроде даже не шибко сложно получилось ;-)


 
Piroxyline   (2006-12-10 12:42) [3]

Сори, что вмешиваюсь, но хочу немного пояснить. То что ты сначала пытался сделать в принципе неработоспособно. Ansi/Wide (если их так обозвать) сводится к функциям API - соответственно, надо менять вызовы. Пример: CreateWindowA (или CreateWindow) нужно заменять на CreateWindowW


 
thevalery ©   (2006-12-11 13:21) [4]

2 Piroxyline - поддержка на уровне API - это уже другой вопрос. Затык был именно с поддержкой замещенных (!) свойств. К примеру, если объявить новое свойство Caption (даже того же типа - string) и кинуть эту компоненту на форму - ее капшин останется пустым (а не "MyComponent1"), т.к. обращение к компоненту как к TControl (что делает дельфи в этом случае) вызовет старый (!) обработчик и запишет значение в старое (!) хранилище, тогда как обращение к TMyComponent.Caption обратится к новому хранилищу. То же самое и с хинтами. В общем, проблема была (и есть) в том, что свойства, в отличие от методов, нельзя замещать (override). Но это, по счастью, в данном случае можно обойти. А поддержка на уровне API - эт и ежу понятно что нужно сделать, но это уже внешняя сторона и имхо не такая сложная ;-)


 
Piroxyline ©   (2006-12-11 14:30) [5]

А! Ну теперь понятно, а я думал, что без замены этой ты хочешь сделать



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

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

Наверх




Память: 0.47 MB
Время: 0.044 c
15-1168878501
den_c
2007-01-15 19:28
2007.02.04
Компонент для работы с zip-архивом


2-1169033082
vajo
2007-01-17 14:24
2007.02.04
BDS 2006 - Delphi for .NET - ASP.NET Web Application.


15-1168580679
0x07BBh
2007-01-12 08:44
2007.02.04
2006 год: Год, когда Россия учила Запад уму-разуму


2-1169152077
sinys
2007-01-18 23:27
2007.02.04
Почему-то происходит пересоздание формы


9-1142551393
Нет
2006-03-17 02:23
2007.02.04
Как развернуть цилиндр на плоскость?