Играйся на здоровье
Пытаюсь прикрутить к лейбам c альфа-картинками эффект отражения, вот что получилось пока. Критика приветствуется!
Редактировалось 1 раз(а), последний 2021-11-30 23:17:29
Этот топик читают: Гость
Ответов: 5227
Рейтинг: 587
|
|||
карма: 4 |
| ||
Голосовали: | envoy_sky |
Ответов: 315
Рейтинг: 26
|
|||
andrestudio писал(а): Играйся на здоровьеМногое не работает. |
|||
карма: 2 |
|
Ответов: 5227
Рейтинг: 587
|
|||
envoy_sky писал(а): Многое не работает.Я знаю. Даже если бы работало то официально это использовать нельзя. |
|||
карма: 4 |
|
Ответов: 5227
Рейтинг: 587
|
|||
Короче выбрал такой вариант:
1) Отражение картинки опционально включить/выключить в Desing-Time 2) При Caption > 1 строки первая автоматом считается заголовком, выделяется жирным шрифтом и добавляется отступ к основному тексту. Но по сути хочу делать доску инструментов приближённую как в TMS. Там нужен другой эффект отражения, если мой не прокатит видать придётся что то ещё думать... |
|||
карма: 4 |
|
Ответов: 315
Рейтинг: 26
|
|||
Нашёл сие чудо
SkinFeature.jpg Visual_Skin_Editor.jpg |
|||
карма: 2 |
|
Ответов: 5227
Рейтинг: 587
|
|||
И Нужно скинутся и купить
|
|||
карма: 4 |
|
Ответов: 315
Рейтинг: 26
|
|||
andrestudio писал(а): И Нужно скинутся и купить Проект закрылся. |
|||
карма: 2 |
|
Ответов: 5227
Рейтинг: 587
|
|||
Блин озадачился я тут переделать HintManager, ночь пролетела незаметно
Вот тест, можно проверить позицианирование в крайних координатах монитора. https://forum.hiasm.com/getfile/39322 Построен на перехвате сообщений окна хинта. (градиент без GDI+) |
|||
карма: 4 |
|
Ответов: 5227
Рейтинг: 587
|
|||
Мда, что за скучный форум.
Как видно что не смотря на то что новый менеджер гораздо лучше старых балонов но всё же есть недостатки. Форматирование текста оставляет желать лучшего. Решил всё же отвязаться от этого пузырька 95 года выпуска и сделать кастомный контрол. Поэтому начал 3 попытку, можете пожелать мне удачи |
|||
карма: 4 |
|
Ответов: 263
Рейтинг: 18
|
|||
andrestudio, на Windows 10 хинты выглядят обрезанными. Для полей Edit, справа снизу от курсора, остается дефолтный хинт (пустой).
Редактировалось 1 раз(а), последний 2021-12-07 05:35:45 |
|||
карма: 3 |
|
Ответов: 5227
Рейтинг: 587
|
|||
fox-video, Понял, спасибо.
Вычислить размер прямоугольника и разбить в нём текст с переносами по слогам (а не по словам как в пузырьке) не такая уж простая задача... но мы не сдаёмся |
|||
карма: 4 |
|
Ответов: 5227
Рейтинг: 587
|
|||
Переделал полностью на кастомный хинт + добавил вывод информационного окна
Иконки хинтов из Shell32.dll Пример: Получилась такая конфигурация Name=Имя элемента|2| Font=Шрифт всплывающей подсказки по-умолчанию|15| Helvetica,8,0,0,1 Color1=Верхний цвет градиента|8|clInfoBk Color2=Нижний цвет градиента|8|clInfoBk Color3=Цвет контура подсказки|8|clGray Icon=Задаёт иконку сообщения|4|4|None,Stop,Question,Exclamation,Information,UseIcon UseIcon=Содержит иконку для свойства Icon(UseIcon)|6| HintDelay=Время задержки перед выводом подсказки в ms|1|1000 HintAutoPopUp=Время, в течении которого видна подсказка в ms|1|3000 ##PoupWindow=Настройки для вывода информационного окна методом doPoupWindow Text=Текст информационного окна|2|Информация: ResIcon=Ресурс загрузки иконки для информационного окна|4|0|IconManager,Imageres.dll,Shell32.dll idIcon=Индекс иконки для загрузки из библиотек ресурсов|1|0 WindowDelay=Время в ms в течении которого отображается информационное окно при AutoHide-True|1|10000 AutoHide=Автоматически закрывает информационное окно согластно свойству WindowDelay|14|1|True,False BottomRright=Вывод информационного окна в правом нижнем углу экрана(X и Y координаты не используются)|14|0|True,False ## [Methods] *doPoupWindow=Метод создаёт информационное окно в координатах X и Y и текстом с точки Str или из потока|1| *onPoupWindow=Событие происходит после вывода информационного окна|2| *onClose=Событие происходит после закрытия информационного окна|2| *Str=Текст информационного окна|4|2 *X=X координата информационного окна относительно экрана|3|1 *Y=Y координата информационного окна относительно экрана|3|1 fox-video, есть желание или возможность протестировать в динамических мультиках? --- Добавлено в 2021-12-09 14:45:09 fox-video, вот новый пример, https://forum.hiasm.com/getfile/39323 покажи ещё раз как у тебя будет отображать. (у меня по умолчанию масштаб экрана 125%) Редактировалось 2 раз(а), последний 2021-12-09 14:46:36 |
|||
карма: 4 |
| ||
Голосовали: | zeta211 |
Ответов: 263
Рейтинг: 18
|
|||
andrestudio писал(а): покажи ещё раз как у тебя будет отображать. (у меня по умолчанию масштаб экрана 125%)У меня масштаб 100%, теперь отображается как надо! andrestudio писал(а): есть желание или возможность протестировать в динамических мультиках?Еще как! У меня в схемах их много... |
|||
карма: 3 |
|
Ответов: 5227
Рейтинг: 587
|
|||
fox-video, отличие есть всё таки. DrawIconEx фигово в 10 ке видать иконки рисует. (там в коде можно будет штатные методы включить)
Блин у меня проблемка образовалась, менеджер перехватывает события onMouseEnter и onMouseLeave которые я использую в GDI+ контролах. Как доделаю отправлю тебе исходники... |
|||
карма: 4 |
|
Ответов: 5227
Рейтинг: 587
|
|||
Вроде всё получилось.
Вышел из положения следующим образом (для информации разработчикам) В менеджере перекрыл событие функцией из KOL OnTestMouseOver (почему ей, потому как в HiAsm компонентах нигде не используется и ничему не мешает), за счёт шунтирования получил аналог onMouseEnter В ней мне потребовалось перенаправить (переопределить) 2 события onMouseLeave и onMouseDown для скрытия хинта Что касаемо иконок, грешил на DrawIconEx а нет, оказалось всё гораздо прозаичней: Функция из Shell ExtractIconEx добывает small иконку 20x20 (а не 16х16 как я ожидал) Свойство Icon _data.Type = в HiAsm всегда возвращает 40x40 (а не то что я тут положил типа 24x24, 48,48) Так что положил я 40x40 (20x20 не пробовал) рисует отлично. Скорей всего это связанно с моим масштабом(125%), ну тогда немного скорректируем код что бы было всё ОК Вот и всё пока. Менеджер отправляется активному участнику fox-video для исследования и тестирования. |
|||
карма: 4 |
|