krapotkin
-
Постов
2 180 -
Зарегистрирован
-
Посещение
-
Победитель дней
209
Сообщения, опубликованные krapotkin
-
-
ок, понял, спасибо!
вот бы в документашечку бы буквально одну строку добавить ))) -
этот ответ можно вынести на главную страничку и закрыть все темы форума разом )))
-
TPanel - черное поле на скриншоте
вышел из положения - тулбар забросил в эту панель
судя по тому, что у мультивью нет свойства Align - он на такие штуки совсем не рассчитан...
-
XE8 Upd1
форма с мульти-вью
наверху - TToolBar
в шторке - комбо-бокс
черное поле - панель, в которую загружаются фреймы в зависимости от выбора в комбо
применен стиль*
когда шторка выезжает, она почему-то захватывает пространство тул-бара, ну да бог с ним, не страшно
хуже то, что когда она вернулась, тулбар остался изгажен
я пробовал toolbar.Repaint, toolbar.RecalcSize, multiView.RecalcSize
не помогло
Как исправить?
*если убрать стили, поведение не меняется
-
На форме два TEdit
KeyboardType у первого = NamePhonePad
у второго = Alphabet
при переходе фокуса клавиатура остается такой, какая была при входе в первый из Edit'ов
как принудительно поменять тип клавиатуры?
-
Можно ли вычислять высоту ListViewItem "по запросу"
Например, в OnUpdateObjects?
В VCL можно было запросить Canvas.TextExtents и произвести расчеты.
в FMX есть что-то подобное ??
-
пока спрашивал, поставил XE7
прошел через все изменения
нашел Bitmap.FlipHorizontal.
оказалось, что теперь он работает!
с зеркальной камерой Canon работаю через их API
взял обертку C# и переписал на Delphi
-
спасибо. попробую
интересно, с учетом того, что у меня лайв-видео с камеры, хватит ли скорости для попиксельной обработки?
-
требуется эффект отображения image относительно вертикальной оси
как можно этого достигнуть?
-
первый пост
>>TFloatAnimation использует ProcessMessages
>>очень хочется иметь Repaint без ProcessMessages.
второй пост
>>я запускаю AnimateFloatWait чтобы нельзя было ее убить до завершения, и ...опять получаю AV
>>Разбираюсь - а она оказывается вовсю Processит Messages.
>>искал к-нить аналог VCL Repaint.
TForm.PaintRects
а вот и ответ...
-
Это базовая теория, и я в курсе её.
Давайте вернемся к исходной задаче. У меня нет фоновых операций. Мне нужно, чтобы именно анимация, именно в главном потоке доработала без прерываний. Нельзя использовать ProcessMessages! Ибо она обрабатывает ВСЕ виды событий. Мне всего лишь нужно, чтобы происходила только перерисовка. И лишь по окончанию анимации главный поток обрабатывал бы очередь сообщений дальше.
В VCL это достигается вызовом Repaint. В FMX - не работает.
-
но визуально работа указанных аниматоров будет проявляться только когда в главном потоке происходит ProcessMessages и там - обработка WM_PAINT. Принудительной прорисовки не будет.
Получается, если главный поток занят, то и анимация будет дерганая?
Я прав?
-
procedure TFmxObject.AnimateFloatWait(const APropertyName: string; const NewValue: Single; Duration: Single = 0.2; AType: TAnimationType = TAnimationType.atIn; AInterpolation: TInterpolationType = TInterpolationType.itLinear); var A: TFloatAnimation; begin StopPropertyAnimation(APropertyName); A := TFloatAnimation.Create(Self); try A.Parent := Self; A.AnimationType := AType; A.Interpolation := AInterpolation; A.Duration := Duration; A.PropertyName := APropertyName; A.StartFromCurrent := True; A.StopValue := NewValue; A.Start; while A.FRunning do begin Application.ProcessMessages; Sleep(0); end; finally A.DisposeOf; end; end;
Мне нужно запустить анимацию формы: координаты, ширина, высота. Но окно вспомогательное.
По задумке, если щелкнуть на него, оно должно исчезнуть. (и уничтожиться)
При неудачном стечении обстоятельств (форма удалилась во время анимации) получаем AV
Поэтому я запускаю 3 анимации как AnimateFloat и 4-ю AnimateFloatWait чтобы нельзя было ее убить до завершения, и ...опять получаю AV
Разбираюсь - а она оказывается вовсю Processит Messages. В том числе и close...
Пробовал заменить весь метод ..Wait, искал к-нить аналог VCL Repaint. Но он не срабатывает.
-
TFloatAnimation использует ProcessMessages
Это чревато возникновением всяких событий, и даже закрытию формы во время анимации, что приводит к AV
очень хочется иметь Repaint без ProcessMessages.
Это возможно?
Проектирование интерфейса
в Консультации
Опубликовано
я тоже долго экспериментировал, прежде чем пришел к аналогичному подходу...