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

Виктор

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

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

  • Посещение

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

    2

Виктор стал победителем дня 31 июля 2014

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

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

1 079 просмотров профиля
  1. Комрад, в nextSettings отключи trimming и WordWrap. Скорей всего поможет. И имей ввиду что тоже текст в win7, win xp, win server может иметь фактически разную длину)
  2. Виктор

    drag and drop

    Доброго дня, комрады. Как в listview сделать перетаскивание конкретного item, а в частности его изображения? Создали item-ы, загрузили изображения. Bitmap:=TBitmap.Create(120,120); Bitmap.LoadThumbnailFromFile(Memo1.Lines[Count-1],120,120); ListItem:=listview1.Items.AddItem; ListItem.Bitmap.Assign(Bitmap); Отключили в listview все кнопки и надписи. Остались только изображения и скрол. А автоматическом режиме, не получается выделить item, и переносит сразу весь listview
  3. Допустим есть несколько копий приложения запущенных с разных компьютеров не в локальной сети. Расскажите как лучше всего организовать обмен информацией между ними? Какими компонентами лучше воспользоваться, как все построить? Предположим есть два варианта, у нас есть отдельно стоящий компьютер выполняющий роль сервера, и вариант когда такого компьютера нет. Для справки допустим что мы создаем самый простой аркадный Примитивный космический симулятор, для некой ролевой игры.
  4. Для этого надо найти ближайшего родителя у элемента класса, нужного класса (прошу прощения за тавтологию). С помощью вот такой вот универсальной функции. Item := TListBoxItem(FindItemParent(Sender as TFmxObject,TListBoxItem)); function FindItemParent(Obj: TFmxObject; ParentClass: TClass): TFmxObject; begin Result := nil; if Assigned(Obj.Parent) then if Obj.Parent.ClassType = ParentClass then Result := Obj.Parent else Result := FindItemParent(Obj.Parent, ParentClass); end;
  5. Доброго дня. Что бы получить дочерний item зная его индекс надо воспользоваться функцией ItemByIndex самого ListBox-а: var Item: TListBoxItem; Index: Integer; begin Item := ListBox1.ItemByIndex(Index); end;
  6. Если у вас на клики по элементам ListView не будет больше никаких действий, то правильней будет если пользователь будет иметь возможность кликнуть в любую часть строки (для этого обработку клика надо делать всей строки, а элементам отключать HitTest). Галочек как и полос прокрутки на мобильных девайсах стоит по возможности избегать, по ним неудобно попадать. В качестве места для расположения редактора времени я бы предложил невидимую до нажатия панельку, это ускорит работу ибо не потребуются ресурсы на создания окна. Уточню, что я не в курсе как там дела именно на android-е, и можно ли там отрисовать панельку поверх других элементов формы. Но если можно это на мой взгляд лучший вариант. А область за панелькой просто затемнить в момент её появления, что бы сконцентрировать внимание пользователя на ней.
  7. Доброго дня. Суть вопроса в следующем. Мне надо создать директорию, в название которой надо положить путь к другой директории. Разумеется надо обойти проблему недопустимых символов / и : . И длину. В win путь не может превышать 255 символов. Таким образом мне надо еще и ужать путь хотя бы до максимум 100 символов. Не подскажите как средствами языка реализовать подобное?
  8. А для win можете подсказать? Как не пытаюсь что-то не получается
  9. Реализовать данные события можно через стили. Находишь в стиле элемент клик на который должен вызывать раскрытие или закрытие дочернего элемента (плюсик, стрелочка и т.д.). Как правило это элемент класса TButton или TButtonStyleObject, что бы мог изменять состояние при нажатии автоматически. Создаешь процедуру которая будет присваивать элементу стиля обработчик нажатия. procedure TFForder.TreeView2ApplyStyleLookup(Sender: TObject); var Item: TTreeViewItem; begin Item := TTreeViewItem(Sender); Item.StylesData['button'] := TValue.From<TNotifyEvent>(Click); end; При создании дочернего элемента TTreeView: It.OnApplyStyleLookup := Treeview2.OnApplyStyleLookup; И пишешь саму процедуру при нажатии на элемент стиля где выясняешь надо свернуть или развернуть элемент: function FindItemParent(Obj: TFmxObject; ParentClass: TClass): TFmxObject; begin Result := nil; if Assigned(Obj.Parent) then if Obj.Parent.ClassType = ParentClass then Result := Obj.Parent else Result := FindItemParent(Obj.Parent, ParentClass); end; procedure TFForder.Click(Sender: TObject); var Item: TTreeViewItem; begin TreeView2.BeginUpdate; Item := TTreeViewItem(FindItemParent(Sender as TFmxObject,TTreeViewItem)); if Item <> nil then if Item.IsExpanded = False then begin //здесь пишешь то что надо сделать при разворачивании элемента Item.Expand; end else begin //здесь пишешь что надо сделать при сворачивании элемента Item.Collapse; end; TreeView2.EndUpdate; end;
  10. А можно в принципе по подробней как это реализовать. Я думаю с этой проблемкой столкнуться многие в том числе и новички
  11. Добрый день. Берем XE6. Берем дефолтный дизайнер, дефолтный стиль. Генерим тест Faremonkey style. Пытаемся максимизировать окно кнопкой на заголовке формы. Кнопка меняет свой стиль, а вот окно не максимизируется. Тоже самое происходит и если в stylebook положить стиль для формы. Новые бордюры и кнопки отрисовываются, а вот оно перестает максимизироваться. Однако если запустить тот же дефолтный стиль под тестом VCL, то окно спокойно увеличивается. Как побороть сей казус?
  12. Resize дает плохой результат. При уменьшении размеров форма в начале уменьшается, а потом увеличивается, в результате мерцание. Раньше вроде было событие onCanResize которое срабатывало перед изменениями размеров, но счас такого не нашел.
  13. Вопрос конечно не шибко умный, что то в пятницу вечером не могу сообразить. Как выставить минимальные размеры формы? Что бы меньше было нельзя никак уменьшить
  14. Не, не, Optimus работает только с win 7 и выше. Я говорю про стандартные общие настройки. Регулировка настроек приложения с просмотром. Там есть галочка "согласно настройкам приложения" когда её отключаешь и выкручиваешь качество на максимум вроде сглаживание появляется. Отсюда делаем вывод, что приложение просто не сообщает что его надо сглаживать.
  15. Во слышу, объективную речь. Тут дело вот в чем, в настройках NVIDIA зачастую стоит "как указанно в приложении" по крайней мере там где я тестировал, так вот приложение не сообщает что его надо сглаживать. А вот если выставить настройки видеокарты в максимум, то кое какое сглаживание начинает появляться. На рабочем компе у вас просто наверно на макс. выставлено. В инете говорят, что сглаживание на ХР то появлялось то исчезало от ХЕ2 до ХЕ6, от обновления к обновлению и все не могли нормально сделать. Ме поверю, что нельзя подкрутить что бы сглаживание заработало.
×
×
  • Создать...