Перейти к содержанию

mixi

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

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

  • Посещение

Информация о mixi

  • Звание
    Новичок

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

2 007 просмотров профиля
  1. mixi

    Анимация scrollbar

    На простой вопрос не смог найти простой ответ. Форма, на ней SmallScrollBar1: TSmallScrollBar и привязанный к свойству Height TFloatAnimation. В анимации - Trigger : IsMouseOver=true Triggerinverse: IsMouseOver=false StartValue: 8 StopValue: 16 При наведении мыши - никакой реакции. Положил на форму Label. Обработал procedure TForm1.SmallScrollBar1MouseEnter(Sender: TObject); begin Label1.Text:='enter'; end; procedure TForm1.SmallScrollBar1MouseLeave(Sender: TObject); begin Label1.Text:='leave'; end; Снова никакой реакции. В VCL нет анимации, но события обрабатываются. Собственно вопрос - кто перехватил обработку? Может стилевые элменты? Ну и как получить анимацию увеличения высоты скрола при наведении мыши?
  2. //Тогда попробуйте задать общий цвет Canvas.Fill.Color := TAlphaColors.Black; // цвет для всех других записей //а потом определится с другими if (TOpenColumn(Column).Index = 1) then if (StringGrid1.Cells[1, Row] = 'работа') then // условие 1 Canvas.Fill.Color := TAlphaColors.Blueviolet // задаем цвет текста else if (StringGrid1.Cells[1, Row] = 'бензин') then // условие 2 Canvas.Fill.Color := TAlphaColors.Blue; // задаем цвет текста if (TOpenColumn(Column).Index = 2) then if (StringGrid1.Cells[2, Row] = '-850') then // условие 1 Canvas.Fill.Color := TAlphaColors.Red // задаем цвет текста else if (StringGrid1.Cells[2, Row] = '3000') then // условие 2 Canvas.Fill.Color := TAlphaColors.Green;
  3. Попробуйте if (StringGrid1.Cells[1, Row] = 'работа') then // условие 1 Canvas.Fill.Color := TAlphaColors.Blueviolet // задаем цвет текста else if (StringGrid1.Cells[1, Row] = 'бензин') then // условие 2 Canvas.Fill.Color := TAlphaColors.Blue // задаем цвет текста else Canvas.Fill.Color := TAlphaColors.Black; // цвет для всех других записей
  4. Спасибо Ярослав за статью. Вы ответили на мой не заданный вопрос: как правильно в кросс-платформенной среде создавать и уничтожать экземпляры объектов, сохраняя единство кода для всех платформ. У меня предложение - может быть выделить отдельную тему для подобных статей или вопросов назвав ее - правила хорошего кода. Ибо считаю важным для программиста выработку навыка корректного использования тех или иных методов, особенно тем, кто только начинает с пониманием почему нужно так.
  5. 1) окрыть project.dpr (меню.Project.View Source) добавить uses FMX.Types, ...... begin //отключить использование канвы D2D GlobalUseDirect2D:= false; Application.Initialize; .... end. 2) В главной форме приложения перекрыть OnFormCreate procedure TForm1.FormCreate(Sender: TObject); begin Quality:=TCanvasQuality.HighPerformance; .... end; Теперь PaintBox на форме в PaintBox1Paint рисует прямые в 1 пиксел, но без сглаживания.
  6. Пример действительно работающий, но... 1) Если привязать его например, к кнопке и сделать enable:=false, то hint не появится (не работет OnMuseEnter). Нативные hint-ы под Mac и Win появляются всегда. 2) Всегда проходит какое время между наведением и нажатием на кнопку. Если вы "передержали" и hint появился, то после нажатия на кнопку и выполнении како-го либо дествия он скроется после установленной выдержки времени. У меня например, при нажатии на кнопку должен скрыться элемент (rectangle ) на которам эта кнопка установлена. Элемент скрывается, а hint еще какое-то время висит над пустым местом. Вообще ситуция с hint мне не понятна - свойства есть, но все под protection и экземплярам не доступны. Я понимаю, что для мобильных платформ оно не встребовано, но ведь firemonkey не только для мобильных или тенденции изменились. В данном примере показан обход этой проблемы (protection) путем создания наследника-обертки TControl.
×
×
  • Создать...