AIMP for Windows => Skin Editor, Skin Engine => Вопросы / Questions => Topic started by: Remoder on July 31, 2020, 16:22:37
Title: Исчезает форма
Post by: Remoder on July 31, 2020, 16:22:37
Подскажите, может дело в скрипте. ;) Скрипт меняет положение скролла с правой стороны на левую, но заметил что тогда возникают глюки либо с плейлистом или лирикой (а я как раз и меняю положение этих двух скролл баров), они исчезают или меняют размер.
case State of 0: begin SZ.BeginUpdate; SX.BeginUpdate;
SZ.Set('Alignment','laLeft');
SX.Set('Alignment','laLeft');
SZ.EndUpdate; SX.EndUpdate; end; 1: begin SZ.BeginUpdate; SX.BeginUpdate;
SZ.Set('Alignment','laRight');
SX.Set('Alignment','laRight');
SZ.EndUpdate; SX.EndUpdate; end; end; end;
Title: Re: Исчезает форма
Post by: Black_AVP_Bim on July 31, 2020, 17:12:25
У скроллбара нет свойства Alignment (см. окно свойств). Менять надо у контейнера, в который тот сроллбар помещён.
Title: Re: Исчезает форма
Post by: Remoder on July 31, 2020, 17:22:10
А я и меняю у контейнера. Так-то скрипт тогда правильной и выходит проблема в скин движке? - или нужно память очищать или по одному значению вписывать?
Title: Re: Исчезает форма
Post by: Black_AVP_Bim on July 31, 2020, 17:29:06
По именам в скрипте, ведь, невозможно понять, что это за элемент. Тогда надо раpбираться в структуре контейнеров. Основной контейнер должен иметь выравнивание laClient, со скроллбаром - laLeft/laRight. Оба они должны быть помещены в общий контейнер окна. Если контейнеров на одном уровне больше двух, тогда надо позаботиться ещё и об AlignmentLevel.
Title: Re: Исчезает форма
Post by: Remoder on July 31, 2020, 18:02:41
Да стандартное расположение по умолчанию. А что дает уровень выравнивания - если у меня почти все хорошо работает - но иногда дает сбой если играться в скине выбором расположения скролл бара и вкладок. Можете посмотреть? https://drive.google.com/file/d/1RCYGa52g5FpfcuujZj_ijwBn2NcCMijt/view?usp=sharing
Title: Re: Исчезает форма
Post by: Black_AVP_Bim on July 31, 2020, 18:25:06
Мне влом разбираться в таком проекте, быстрее пример набросать.
Title: Re: Исчезает форма
Post by: Remoder on July 31, 2020, 18:41:55
И чем отличается ваш пример от моего. Scroll_Side - скрипт и скроллы на виду (то-есть их контейнеры) 1 в плейлисте и 1 в лирике.
В справке пишут к скрипту >> 1. Значение по умолчанию в скрипте и в редакторе должно быть одно и то же, иначе интерфейс будет сбоить при изменении значения счетчика. 3. Связка BeginUpdate / EndUpdate позволяет отключить рассылку уведомлений об изменениях в элементе на время его редактирования. Рекомендуется к использованию при изменении более одного свойства за раз. 1. - Может и не совпадает у меня :-\ 3. - А как применять с двумя свойствами как у меня?
Title: Re: Исчезает форма
Post by: Black_AVP_Bim on July 31, 2020, 19:08:32
Ну, по крайней мере тем, что он работает. BeginUpdate / EndUpdate имеет смысл применять когда много перерисовывается, а тут один элемент перебрасывается.
Title: Re: Исчезает форма
Post by: Remoder on July 31, 2020, 20:04:24
procedure Execute(var State: Integer); var S: String;
begin if State = 0 then s:= 'laLeft' else S:= 'laRight'; FindObject('pwPlaylistScrollbarHost').Set('Alignment', S); FindObject('ibwLyricsScrollbar').Set('Alignment', S); end;
Малая буква "s", не имеет значение регистр?
Title: Re: Исчезает форма
Post by: Black_AVP_Bim on July 31, 2020, 20:10:49