Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.034 c
1-1165585804
Феникс
2006-12-08 16:50
2007.02.04
Экспорт в Excel - (не зарегистрирован класс LeftMargin)


15-1168622140
whiteNIK
2007-01-12 20:15
2007.02.04
Где взять делфи?


1-1164713705
Krants
2006-11-28 14:35
2007.02.04
Обьединить события


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


15-1168920229
Стаффаж
2007-01-16 07:03
2007.02.04
Какие профессии в Германии самые выгодные




   Наверх