Главная страница
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.48 MB
Время: 0.053 c
15-1168978499
Bolek
2007-01-16 23:14
2007.02.04
Сборка ConnectionString


15-1168892874
@!!ex
2007-01-15 23:27
2007.02.04
редактор ТЕХа


6-1156919339
AlexaSP
2006-08-30 10:28
2007.02.04
Работа с ARP. Посылка запроса средствами WinXP :)


6-1156909299
ZLOFENIX
2006-08-30 07:41
2007.02.04
посылка данных


2-1169048500
azl
2007-01-17 18:41
2007.02.04
Ctrl + Enter и Memo