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

snake

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

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

  • Посещение

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

    1

snake стал победителем дня 25 декабря 2021

snake имел наиболее популярный контент!

  1. Пытаюсь откомпилировать приложение под симулятор iPhone. Delphi 10.4. Симулятор выдает сообщение, что дескать надо перекомпилировать для этой iOS. На Mac, стоит BigSur, xCode 13.2, iOS 15.2. В Delphi тоже стоит iPhoneSimulator 15.2 Файлы для SDK обновлены. PAServer 21 - запущен. Пробовал компилировать под эмулятор iOS 13.2, - в логах ошибка - ругается что нет модуля поддержки процессора x86. ЧТО необходимо сделать, чтобы откомпилировать проект под iPhoneSimulator ?? Я уже не говорю, про реальный яблофон, тут хоть бы под эмулятором запустить :(( Пробовал другие версии xCode ставить - результат такой же.
  2. так никто не отвечает. приходится искать и выдумывать самому. хотя наверняка на эти грабли уже наступали 100500 раз. мало того, но я написал как решил проблему сам и попросил "подскажите как сделать правильнее ", т.е. может Вы просто не внимательно читаете
  3. Сделал так - это швах, но работает так что сильно не ругайте, лучше таки подскажите как сделать правильнее TMyFrame = class(TFrame) .... public Function GetControl(Control:TCustomScrollBox; SrcPoint:TPointF):TControl; .... end; implementation function TMyFrame.GetControl(Control: TCustomScrollBox; SrcPoint:TPointF): TControl; var i:Integer; fm:TFMXObject; vp,tp:TPointF; function GetChildControl(Control:TControl):TControl; var i:Integer; c:TControl; Begin result:=nil; if Control.ChildrenCount > 0 then begin for i:=0 to Control.ChildrenCount-1 do Begin if (Control.Children[i].Name<>'') then Begin c:=TControl(Control.Children[i]); if (c.position.X<tp.X) and ((c.Position.X+c.Width)>tp.X) and (c.position.Y<tp.Y) and ((c.Position.Y+c.Height)>tp.Y) then result:=c; End; if (TControl(Control.Children[i]).ChildrenCount>0) and (result=nil) then result:=GetChildControl(TControl(Control.Children[i])); End; end; End; begin vp:=Control.ViewportPosition; tp.X:=SrcPoint.X+vp.X; tp.Y:=SrcPoint.Y+vp.Y; result:=GetChildControl(Control); end; //узнаем какой контрол под кликом мышки procedure TMyFrame.HorzScrollBox1MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Single); var Point:TPointF; c:TControl; begin Point.X:=X; Point.Y:=Y; c:=GetControl(HorzScrollBox1,point); // if c<>nil Then form1.Debug.Add(c.Name); end; //узнаем какой контрол под тапком procedure TMyFrame.HorzScrollBox1Tap(Sender: TObject; const Point: TPointF); var c:TControl; begin c:=GetControl(HorzScrollBox1,point); // if c<>nil Then form1.Debug.Add(c.Name); end;
  4. блин, все равно - засада. Если следовать Да - супер! начинают работать оба скрола - НО, код приведенный далее с двумя фунциями AllHitTrue и AllHitFalse ни как не помогает отследить объект на котором был Tap или Click. вот тут - всегда получаем объект на котором расположен HorzScrollBox, причем даже не его родителя, а родителя его родителя :(( т.е. у меня есть TabControl, на котором есть VertScrollBox, внутри которого есть TPanel на котором лежит HorzScrollBox, а объект который возвращается по ObjectAtPoint - всегда TabControl1 Если отключаю эти методы по нахождению объекта, и ставлю всем дочерним объектам HorzScrollBox - свойство HitTest:=true, то они отлично работают, но перестает скролится горизонтальный скрол, т.к. он не обрабатывает Pan..... Подскажите, как же победить это?? Если бы в том примере получить объект который внутри горизонтального скрола, а не его пра-пра-пра-родителя - это решило бы проблему. Или если бы при установке HitTest для контролов внутри горизонтального скрола - работал бы и сам скрол, то тоже бы решило проблему. Пожалуйста, помогите разобраться.
  5. Есть VerticalScrollBox, внутри которого есть несколько панелей выравненных по Top На одной из панелей есть HorzScrollBox. Если начинать прокручивать VerticalScrollBox вне HorzScrollBox, то контент прокручивается, но если начать прокрутку из области HorzScrollBox, то вертикальная прокрутка не отрабатывает - только горизонтальная. Как сделать, чтобы HorzScrollBox передавал управление прокруткой VerticalScrollBox, если это не горизонтальная прокрутка?
×
×
  • Создать...