Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2007.02.04;
Скачать: [xml.tar.bz2];

Вниз

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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.061 c
15-1169009798
vidiv
2007-01-17 07:56
2007.02.04
подписать EXE


2-1169154005
sinys
2007-01-19 00:00
2007.02.04
drag&drop, Clipboard


2-1168982958
16alex
2007-01-17 00:29
2007.02.04
развертывание приложения с dbexpress


2-1169116390
mmip
2007-01-18 13:33
2007.02.04
Подключение к MS SQL


2-1167199008
Sw
2006-12-27 08:56
2007.02.04
Индексы





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский