Перейти к содержанию
Fire Monkey от А до Я

Frol

Пользователи
  • Постов

    23
  • Зарегистрирован

  • Посещение

Посетители профиля

Блок последних пользователей отключён и не показывается другим пользователям.

  1. Есть ли какая-то фича типа прижатого шифта, чтобы выбирать сразу несколько вариантов? или это просто руками вписывается?
  2. В приведенном мной примере есть TreeViewItem, нарисованный на лейауте на который помимо стандартных элементов был добавлен еще чекбокс, а у него анимация... Я пробовал искать анимацию и от чекбокса и от TreeViewItem-а... Видимо какая-то криворукость присутствует... Чекбокс находился. т.е. стиль на момент поиска уже применен. Анимация работает... Но найти ее не смог (( обращаться к ней через StylesData не пробовал. Я понял идею... не понял где у меня криворукость, но однажды получится )))) Можете пояснить эту мысль? "любые пользовательские данные" очень нужно хранить )) как может пригодиться StylesData?
  3. Спасибо Dmitry_4501. Есть вариант решения. В стиле под TTreeViewItem подкладывается прямоугольник. и дальше организуется подобный цикл Подобный подход достаточно гибкий. Можно раскрашивать не в два, а в три цвета, например. Но есть "всякие но и если". Если какой-то узел мы делаем невидимым Item.Visible:=false, то и все его дочерние узлы надо не забыть сделать невидимыми развертывание/свертывание узлов, добавление/удаление/перемещение, сокрытие (само собой) - надо не забыть и переопределить цвета бэккграунда Прямоугольник по своей ширине не совпадает с шириной дерева. Вот тут видно - каждый следующий уровень вложения и прямоугольник все Уже и Уже. Если уровней 1-2, то не портит картинку, на мой взгляд, но если 3-4 или больше, то уже может резать глаз кому-то. Стандартное раскрашивание заполняется на всю ширину. И стандартное раскрашивает все само, что очень удобно ))), а так придется следить за деревом... Само не перерисуется ((( Если у кого появятся еще идеи - буду признателен... UPD Margins.Left:=-1000 для прямоугольника бэкграунда решает проблему лесенки. Все получается во всю ширину и очень опрятно.
  4. Очень изящное решение, мне кажется. Не думал, что так можно. На чекбокс стоит тригер на анимацию и на обратную анимацию В результате анимация не срабатывает когда чекбокс с галочкой. Это не снимает вопрос как найти анимацию как объект стиля, но теперь и не надо ))) нужный эффект получен. Спасибо Dmitry_4501
  5. Спасибо, на выходных изучу.
  6. Не понял того, что вы пишите. У вас там цитата, но цитата не точная. "Не найден объект по имени - Lock" находится на этой странице только один раз в вашем ответе (теперь будет находиться дважды) там возможно немного сумбурно написано. все же это какой-то тест просто. Ищется TFmxObject по имени стиля и если находится, то выводится его тип. По имени стиля Lock находится TCheckBox. TCheckBox со StyleName='Lock'. Первый поиск проходит успешно, а второй нет. Но теперь, я надеюсь, что пойму, что делал не так. Спасибо Дмитрию )
  7. да. такое. Чудо какое-то )
  8. Вот сама процедура теста. А вот то, что оказывается в Memo FloatAnimation1Style - присвоено автоматически в момент создания
  9. Есть компонент, который отрисовываеься с помощью стиля. Для него в stylebook создана анимация. Как через код можно добраться до этой анимации и изменить ее параметры? Если конкретнее, то речь идёт о чекбоксе и его прозрачности. По умолчанию в момент наведения мышки он должен загораться, а когда мышка уезжает - тухнуть. Но если галочка стоит, то должен гореть всегда (пока не не снимут). Была идея по клику чекбокса изменить триггер анимации с движения мышки на что-то, что никогда не происходит, а по второму клику вернуть как было. Так вполне работает, если анимация и чекбокс созданы в момент дизайна и к анимации можно обратиться как к переменной. В этом второй вопрос - как лучше отключить анимацию на время? Вот тут описано решение Только оно не работает. Может потому, что это 14 год, а может я как-то криво копирую, но FindStyleResource находит чекбокс в компоненте и не находит анимацию в чекбоксе.
  10. Всем привет. Есть дерево у которого TreeView.AlternatingRowBackground:=true; все отображается так, как надо Теперь у дерева надо скрыть какие-то узлы изменяя их видимость for i:=0 to TreeView.Count-1 do TreeView.Items[i].Visible:= (i mod 5)<>0; В данном случае скрывается каждый пятый узел. И вот, что получается Чередование нарушается. Как можно вернуть правильное чередование? В реальном проекте структура узлов более сложная, есть несколько различных правил по котором надо скрывать или показывать узлы. Не хочется удалять узлы и перестраивать дерево заново каждый раз. Скрытие узлов через Visible:=false выглядит очень привлекательно.
  11. решение найдено. вот такое исправление кода всё наладило
  12. Добрый день. Неожиданно столкнулся со странностью. В проекте объявлены такие классы A и B наследники от TTreeViewItem, а AA и AAA наследники от наследника. Но ни в каком из этих классов нет никаких изменений. В моем понимании это просто другое имя класса и все. Есть такая процедура В результате (в моем понимании) должно получиться 5 узлов в корне с текстом ItemO, ItemA, ItemB, ItemAA, ItemAAA. Но по факту оказывается, что для наследников от наследника текст не выводится, и кнопка сворачивания узла не рисуется. А в Memo появляется правильный текст... Что я делаю не так?
  13. Я видел эти два урока уже раньше. Мне казалось, что FindStyleResource и StylesData предлагаются как альтернатива. StylesData, как я понял, не позволяет передавать значения для множеств... А в остальном как альтернатива. У меня же явно выходит, что StylesData работает, а FindStyleResource нет. Но посмотрю внимательнее. спасибо.
×
×
  • Создать...