0 Members and 6 Guests are viewing this topic.
Типа да, но лучше с регуляторами по краям, пипетка не нужна!
А то не понятно S{Single}, V{Single}) - там только нуль и единица, один черный цвет включает, другой белый.
Всвязи с появлением интереса к функции RepeatAB (https://www.aimp.ru/forum/index.php?topic=61262.0), выношу на ваш суд свою попытку визуализации установок точек А В.
Смутил только момент с автоотключением функции при изменении положения любого ползунка.
Пришлось так сделать, сам понимаешь, что действия пользователя не предсказуемы - куда он может увести движки во время повтора, а вся система рассчёта при этом может нарушиться.
А в чем конкретно проблема?Нужно при отпускании кнопки мыши над ползунком запоминать текущую позицию, запускать повтор с новыми границами и затем восстанавливать позицию, если она не выходит за новые границы.
Или как сделать что бы TASETextDisplayEx растягивал контейнер или панель в которой находиться?
procedure Execute(Sender, Arguments: TComponent);begin FindObject('NewFormClient').Set('SizeMinimal.Height', FindObject('TextDisplayEx').Get('PlaceInfo.ActualHeight')); FindObject('NewFormClient').Set('SizeMaximal.Height', FindObject('TextDisplayEx').Get('PlaceInfo.ActualHeight'));end;
Поместить TextDisplayEx с AutoSize.csHeight = True в контейнер. В OnResize у текстового поля назначить Handler с таким содержимым:Code: [Select]procedure Execute(Sender, Arguments: TComponent);begin FindObject('NewFormClient').Set('SizeMinimal.Height', FindObject('TextDisplayEx').Get('PlaceInfo.ActualHeight')); FindObject('NewFormClient').Set('SizeMaximal.Height', FindObject('TextDisplayEx').Get('PlaceInfo.ActualHeight'));end;
Спасибо конечно но, есть проблема. Так как у TextDisplayEx нет ограничителей он растягивается бесконечно, я вот не уверен будут ли работать ограничения контейнера или скрипт их проигнорирует и растянет контейнер свыше их.
Видимо придется делать через условия.
procedure Execute(Sender, Arguments: TComponent);var NewHeight: Integer;begin NewHeight := FindObject('TextDisplayEx').Get('PlaceInfo.ActualHeight'); if NewHeight <= 400 then begin FindObject('NewFormClient').Set('SizeMinimal.Height', NewHeight); FindObject('NewFormClient').Set('SizeMaximal.Height', NewHeight); end else begin FindObject('NewFormClient').Set('SizeMinimal.Height', 400); FindObject('NewFormClient').Set('SizeMaximal.Height', 400); end;end;