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

d7d1cd

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

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

  • Посещение

  • Победитель дней

    7

Весь контент d7d1cd

  1. Понятно, что костыль. Но что делать... По поводу Вашего метода: думаю, что мой метод лучше тем, что в нем используется только одна анимация, а так же минимум кода. Я, кстати, всегда стараюсь писать как можно меньше кода, ибо есть золотое правило: чем сложнее механизм, тем более вероятно, что он сломается. Хотя может я и не прав
  2. Alexander, прикладываю проект и исполняемый файл (на случай, если Вы пишете не на С++). Думаю, что Вам именно это надо. PanelTest.zip PanelTestProject.zip
  3. Что значит "очистить предыдущий текст в клавиатуре"? Клавиатура у нас теперь хранит текст?
  4. Все это можно сделать при помощи одной анимации. В инспекторе объектов: FloatAnimation1.PropertyName = "Scale.X"; FloatAnimation1.StartValue = 1; FloatAnimation1.StopValue = 3; FloatAnimation1.Inverse = true; procedure TForm1.Panel1MouseEnter(Sender: TObject); begin FloatAnimation1.Inverse = not FloatAnimation1.Inverse; FloatAnimation1.Start; end; procedure TForm1.Panel1MouseLeave(Sender: TObject); begin Panel1MouseEnter(this); end; Но только топикстартеру похоже это уже не надо.
  5. Скачал StyleEditor. Однако с его помощью я не могу изменить картинку для конкретного стиля кнопки. Редактор вообще не показывает картинку кнопки. Подскажите, что я не так делаю.
  6. Спасибо за ссылочку. Буду пробовать.
  7. Хм... А как Вам надо? И почему у Вас по логике верно, что при наведении мыши на контрол, панель должна свернуться? Как я понимаю, в обычном состоянии панель у Вас не должна быть видна. Тогда вопрос: куда надо навести курсор мыши, чтобы панель появилась? А если панель в обычном состоянии видна, то по Вашей "верной логике работы" при наведении на нее мыши панель свернется. Как же тогда на ней нажать кнопку?
  8. Спасибо за совет. А подскажите еще как изменить картинку кнопки на какую-то свою?
  9. Можно более подробно рассказать как именно создавать стиль?
  10. d7d1cd

    Создание стиля кнопки

    Привет всем. Для кнопки есть много заданных стилей (backbutton, addbutton,backbuttontext и др.). Эти стили хранятся в StyleBook. Подскажите, как добавить в StyleBook свой стиль кнопки?
  11. Понятно, что кодом можно сделать все. Я думал можно через инспектор... Значит буду делать. Спасибо всем!
  12. )) по вашему тут на форуме везде примеры из реальных программ? вообще все стараются по проще, доходчивее...а динамика то ваш удел... и в моем примере можно ) И как же в Вашем примере можно сделать то, что мне надо?
  13. В этом случае, при скрытии одной или нескольких кнопок, остальные кнопки будут прижаты к одному краю (левому или правому). При этом группа видимых кнопок будет уже не по центру окна. Здесь есть решение: нужно ширину второго Layout-а всегда устанавливать равной суммарной ширине видимых кнопок. Но вот хотелось бы решение, когда настроил в инспекторе объектов и забыл, так сказать.
  14. rustam_d, спасибо за ответ и за картинки. Хочу обратить Ваше внимание на то, что я знаю что такое Margins. Кроме этого хочу сказать, что Ваше решение хорошо подходит для того случая, когда количество кнопок постоянно. Однако в моей программе количество кнопок не будет постоянным. Некоторые из них будут скрываться (отображаться) изменением свойства Visible. При этом группа кнопок, из какого бы количества она не состояла, должна оставаться в центре.
  15. Приложил тестовый проект. Задача: настроить свойство кнопок 1, 2, 3 так, чтобы при изменении размеров окна, а так же при изменении видимости каждой из кнопок группа этих кнопок всегда была в центре. Размер кнопок меняться не должен, расстояние между кнопками меняться не должно. Test.zip
  16. Нет, кнопки не должны растягиваться. Вот если необходимо чтобы кнопки были, например, справа и расстояние между ними 20, то я делаю у всех кнопок Align = Right, Margin->Left = 20. В результате они все аккуратненько стоят друг за другом в правой части родителя (TLayout). Если же сделать Align = Center, то все кнопки располагаются в центре друг на друге. При выравнивании справа, слева, сверху и снизу такого нет: они располагаются друг за другом. Почему выравнивание в центре располагает компоненты друг на друге?
  17. Ваш совет хорош. Однако расстояние между кнопками не равно 20 пикселей. При разных размерах формы оно разное.
  18. Доброго времени суток! На форме расположен TLayout. Установлены следующие свойства: Align = Bottom, Height = 50. Далее на него помещаются 5 кнопок все одинакового размера 40х40. Возможно ли только установкой свойств в инспекторе объектов сделать так, чтобы кнопки расположились горизонтально с равными промежутками в 20 пикселей и равномерно относительно центра TLayout? При изменении размеров формы указанное выравнивание должно сохраняться.
  19. Есть конкретная задача: создать переменную класса, имя которого хранится в текстовом виде. Эта задача волнует меня давно. Вот подвернулась возможность снова обратить на нее внимание.
  20. У меня будет несколько фреймов. Соответственно классы у них разные. Кроме этого, переменная TControl может указывать не на фрейм, а на объект типа TScrollBox. Ваш совет хорош, сам думал над ним. В TControl есть переменная TagString. Там можно хранить имя класса объекта, указатель на который сейчас хранит сама переменная типа TControl. Но как привести указатель в TControl к классу в текстовой переменной? TControl *Control = new TFrame1(this); Control->TagString = L"TFrame1"; // Как теперь создать переменную класса, хранящегося в Control->TagString? // Возможно ли это?
  21. Глубочайше извиняюсь, что запутал всех. Приведенный в моем вопросе код немножко не такой. В качестве указателя на фрейм у меня используется глобальная переменная типа TControl: // MainUnit.h TControl *Frame; void __fastcall TMainForm::Button1(TObject *Sender) { Frame = new TFrame1(this); Frame->Parent = this; } Именно поэтому через эту переменную я не могу напрямую "достать" кнопку.
  22. Кнопка видна при отображении фрейма. Только я не могу в дизайнере задать надпись на ней. Надпись будет определена в процессе работы программы.
  23. Наверное я не правильно выразился. Фрейм я создаю в системе (File->New->Other->C++Builder Files->FireMonkey Frame). Располагаю на нем кнопку и удаляю фрейм из автоматически создаваемых (Project->Options->Forms). Это для того, чтобы фрейм не занимал оперативную память, когда он не выведен на экран. Для вызова фрейма в главном окне нажимается кнопка. При нажатии для фрейма выделяется память, меняется надпись на кнопке и фрейм выводится на экран. Как Вы понимаете, это тестовый проект.
  24. Так сработает только если фрейм создается автоматически. У меня он создается вручную.
×
×
  • Создать...