Главная страница
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.038 c
2-1168939295
Генрих
2007-01-16 12:21
2007.02.04
AnsiReplaceText


2-1169061238
serko
2007-01-17 22:13
2007.02.04
Версия программы...


2-1169127758
dimmih
2007-01-18 16:42
2007.02.04
компоненты


2-1168871590
SadMan
2007-01-15 17:33
2007.02.04
Как обратится к свойствам объекта зная его имя? Глупо как то..


1-1165585804
Феникс
2006-12-08 16:50
2007.02.04
Экспорт в Excel - (не зарегистрирован класс LeftMargin)