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

AngryOwl

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

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

  • Посещение

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

    45

Весь контент AngryOwl

  1. Не работает! В режиме DesignTime (в IDE) при изменении свойтва формы BorderStyle = TFmxFormBorderStyle.bsNone StatusBar пропадает. Но он остается при запуске приложения на смарте. В "Project / Options / Uses Permissions" установлены свойства: Expand status bar = True Advanced / Status bar = True (пробовал и другие варианты) При запуске приложения Status bar не пропадает. Но вопрос стоял иначе - "скрыть/показать Status Bar в процессе работы"
  2. Я думаю стоит завести отдельную тему, где будет обсуждаться новая информация о том - что не только нового в XE7 появится, но и что исправлено из "багов" в текущих версиях? Например в теме "Не удается перетащить (Drag and Drop)" Ярослав сообщил, что данный баг исправлен. Было бы интересно узнать (по мере возможности конечно!) - что еще там нового. Например по той же теме "минимальные размеры для формы". Ну и т.п. Т.е. - хотелось бы видеть обсуждение новостей по XE7 в отдельной ветке, а не разрозненно.
  3. Друзья! Подскажите Как скрыть/показать Status Bar в процессе работы приложения? (Hide/Show StatusBar) Как скрыть/показать изначально, настроив сам проект - это известно. Но вот как скрыть его или показать (например при нажатии кнопок) когда приложение работает? P.S. Сорри за прямоту. Но меня интересует конечное решение на Delphi, а не теория. (Думаю и большинство, задающих вопросы вообще - тоже). Так как в большинстве случаев именно готовое решение помогает понять и смысл, и теорию, и т.д. P.P.S Забыл уточнить: - Delphi XE6 - Android 4.1 (и выше)
  4. Я не к тому) Я прекрасно понимаю, что это не в Ваших силах. Просто высказал свое мнение, что накопившиеся "исправления" Embarcadero не использует для текущих версий, а только в новых... Кроме того - было бы очень интересно узнать - что нового будет в XE7? Где можно подробнее узнать уже сейчас - какие новые механизмы, оптимизация и т.д.? С Уважением, Алексей!
  5. Спасибо, Ярослав! "Будет. XE7" Приятно конечно. Жаль только то что "будет", а не есть. При условии того, что она уже исправлена (как Вы говорите), было бы еще лучше - если бы эти исправления были применимы и к текущей версии. Представьте себе ситуацию, когда делаешь софт, обходишь ошибки FMX, чего только не придумываешь... И даже добиваешься, ценой огромных усилий и потерянного времени, нужного результата, а тут выходит новая версия XE! И выход новой версии не всегда упрощает поставленные задачи. Так как при большей "совместимости" можно легко перенести проект на новую XE. А в нашем случае получается, что переход занимает приличное время... Я думаю Вы меня понимаете. P.S. Встречный вопрос - когда она будет?
  6. Я об этом думал. Но у меня ситуация немного сложнее с пересчетом координат) (это я снова про "свистоперделки")))
  7. Кстати, забыл уточнить, что я просто показал пример, который у меня точно работает. Но он перемещает один элемент из первого списка во второй. Если Вы будете делать "копию" (TDragOperation.Copy), то учтите - DragOver у Вас будет вызываться постоянно, пока курсор с перемещаемым элементом находится над списком TListBox2. И, соответственно, вызов будет постоянно туда копировать все новые и новые элементы. Так-что надо придумать "проверку" внутри ListBox2DragOver. Вот такие вот "свистоперделки" )) А пока, параллельно, до конца пытюсь понять - как именно в FMX работает Drag&Drop. И наши уважаемые гуру меня не убедят в том, что он работает правильно )) Так как понятие "правильно" в данном случае зависит от обстоятельств (точнее - от множества факторов))
  8. Вот у меня тоже с этим были проблемы (собственно они никуда не делись, но я их решил обойти...) Имея отличное представление как должен работать механизм Drag&Drop, я столкнулся со следующим - OnDragDrop вообще не хочет работать (т.е. он тупо вообще не вызывается). Поэтому я решил свой вопрос примерно так: Оба списка TListBox должны иметь свойство AllowDrag = True. Если какой-либо TListBox расположен на панели или другом компоненте, то данный компонент должен иметь свойство HitTest = True. Это "предисловие" (иначе механизм не будет работать вообще). В TListBox, который "приемник": procedure TfmMain.ListBox2DragOver(Sender: TObject; const Data: TDragObject; const Point: TPointF; var Operation: TDragOperation); begin Operation := TDragOperation.Move; if Data.Source is TListboxItem then TListbox(Sender).AddObject(TListboxItem(Data.Source)); end; В данном случае выбранный TListBoxItem переместится в TListBox2. P.S. Однако, я еще не разобрался с Drag&Drop при условии работы на планшете под управлением Windows.
  9. Извините, не правильно Вас понял. Нет, не надо конечно. Стиль грузится в контейнер TStyleBook и лежит в "бинарнике" соответственно. Нужно только в том случае, если Вы хотите в процессе работы программы менять стили (например - дать выбор стиля пользователю программы).
  10. Созданный лично Вами новый стиль, Вы можете распространять как Вам угодно. Нельзя распространять в открытом виде (в виде файла) стили предоставленные Embarcadero. Если Вы используете стиль от Embarcadero внутри своего приложения (как ресурс загруженный в TStyleBook), то это не накладывает на Вас никаких ограничений.
  11. Согласен ("не из простых")! И ведь раньше (в XE5) это было возможно. А в XE6, не спорю - намного лучше все и стабильнее, но перестали работать некоторые вещи. А главное - такое очень часто требуется (по крайней мере я часто с такими задачами сталкивался).
  12. Вот Ваш же пример, но с добавленным на Form2 компонентом TCalloutPanel (просто в качестве примера). Вот так должна выглядеть форма Form2 на рабочем столе (должен быть виден только один компонент TCalloutPanel). Но в данном случае в панели задач нет значка второй формы Form2. Demo2.zip
  13. Меня это вполне устроило бы, но никак не выходит. Либо я что-то упускаю в параметрах, либо что-то просто не работает. Форма Form2 в моем случае имеет следующие свойства: Border.Styling = False BorderStyle = None Transparency = True Остальные значения свойств - стандартные. P.S. Очень признателен Вам за оказанное внимание данной проблеме!
  14. Отлично! Этот вариант работает. Но работает он только в случае если форма имеет стандартные свойства. Единственная не решенная проблема остается - когда форма Form2 имеет не стандарные свойства, например: Transparency = True или BorderStyle = None В этом случае нет нужного результата (т.е. не работает). Хотя, думаю, стоит покрутить с параметрами SetWindowLong и GetWindowLong. Есть у Вас на этот счет какие-нибудь готовые мысли?
  15. Я бы еще добавил следующее. Согласно лицензионному соглашению (как я уже писал выше) Jet, Diamond and Sterling style files are (c) 2014 Embarcadero Technologies, Inc. These additional restrictions are in addition to the terms of the Software License and Support Agreement that accompanies RAD Studio. You may use and distribute the Jet, Diamond and Sterling style files solely as incorporated into the application you create. You may not make the style file sources or individual graphical elements accessible to your end users. You cannot resell or otherwise redistribute or make available standalone Jet, Diamond or Sterling style files (whether unmodified or modified). Certain original design elements by MediaLoot. Другими словами: Нельзя выкладывать с проектом, распространять как-либо иначе, в открытом виде (в виде исходного файла) файлы с данными стилями. Можно крутить/вертеть, но использовать только внутри проекта, а не как отдельный файл. P.S. Ни на что не претендую, но думаю стоит обратить на это внимание. Решение в данном случае лучше принять Ярославу Бровину. P.P.S. С Вашими собственными стилями Вы вольны делать все что угодно)
  16. Раньше (в XE5), путем очень "мудрых" манипуляций, можно было сделать так, что несколько окон одного FMX-проекта (приложения) отображались в панели задач корректно (т.е. - как и другие приложения). Но теперь там ничего нет кроме одного значка главного окна приложения. Вот и возникает соответствующий вопрос - как сделать так, чтобы каждое окно приложения имело значок на панели задач? В качестве примера взял первое что "попалось под руку" - скайп. Так вот подобное невозможно в FMX-проекте (либо я чего-то не знаю...) Всякие свистопляски типа {$IFDEF MSWINDOWS} Handle := WindowHandleToPlatform(AHandle).Wnd; SetWindowLong(Handle, GWL_EXSTYLE, GetWindowLong(Handle, gwl_exstyle) or WS_EX_APPWINDOW or WS_EX_ACCEPTFILES); {$ENDIF} ни к чему не приводят... "Поможите, кто чем может!" (с)
  17. Я думаю со мной согласится абсолютное большинство, что ограничение размеров формы - это проблема! Причем проблема с "большой буквы". Как это сделать в VCL - все в курсе. Предвидя ответ, что это можно сделать самому "ручками", спрошу - почему все должны лезть в исходники Firemonkey и править "родные" модули, дабы достичь нужного результата? Вроде это самые элементарные свойства (предопределение минимальных/максимальных размеров формы). Поэтому очень хотелось бы вынести это "обсуждение"/проблему на рассмотрение Embarcadero. И, конечно, хотелось бы чтобы они эту проблему решили и решили в срочном порядке. Согласитесь (думаю и наши уважаемые гуру согласятся), что этот вопрос относится к элементарным и основным проблемам. Представьте себе любого начинающего FMX-прогера, который в первом же своем FMX-проекте столкнется с данной проблемой... P.S. Как крайний вариант - рассматриваю коллективное обсуждение и решение этой задачи с публикацией кода.
  18. Требуется создать окно, не главное. Отобразить его, при этом не передавая ему фокус. Popup-окно не предлагать. Окно должно быть стандартным или иметь свойства: BorderStyle = None FormStyle = Normal Transparent = True Собственно значение этих параметров не имеет значения. Но не Popup, так как оно исчезает сразу же как только фокус получит любой элемент программы не в данном Popup-окне. Пример: Допустим есть главная форма, на которой расположен элемент TMemo. Фокус на TMemo и Вы печатаете текст. В какой-то момент времени появляется вторичная форма приложения на некоторое время, но фокус не должен отвалиться из TMemo! Если это будет Popup-форма, то как только Вы попытаетесь изменить размер главной формы, либо переместить ее - Popup-форма сразу пропадает. Если будет стандартная форма, то при ее появлении фокус сразу "уходит" из TMemo главной формы... (Существует множество вариантов, когда нужно показать новую форму, при этом чтобы текущая форма или элемент на ней не теряли фокус) P.S. В XE5 было возможно создавать не Popup-формы без передачи им фокуса, а в XE6 - нет... P.P.S. Приложил в качестве примера проект. Надеюсь что понятно объяснил проблему (не мою, а FMX). SecondaryForm.zip
  19. Приношу свои извинения за то, что вероятно ошибся со стилем (так как он под XE5) Рекомендую Вам скачать архив для XE6 (http://cc.embarcadero.com/item/29808) Там есть стили под все ОС. AndroidDiamond AndroidJet AndroidSterling Судя по Вашим скринам и в целом - Вам нужен AndroidSterling. Хотя можете попробовать и другие. Вот там точно есть то что Вам нужно. P.S. Хотя и скачанный Вами AndroidLight.vsf тоже можно загрузить и сохранить как .style Проблема у него в том, что он не совсем совместим с XE6. Его можно подправить "ручками", чтобы он грузился. Но это уже другая история)...
  20. Есть. В стиле по default О чем и говорилось в ролике, который Вы процитировали (https://www.youtube.com/watch?v=eqrVYWZ8SPk)
  21. Эти стили есть тут (http://cc.embarcadero.com/item/29701) Не уверен, что тут можно выложить этот архив или стили, так как согласно лицензионному соглашению, насколько я понял, - они бесплатны, их можно использовать в своих продуктах, но нельзя сохранять в проекте эти стили в виде отдельных файлов (в качестве встроенного ресурса - не вопрос). Так-что в смысле "выложить их тут" - это скорее к нашим гуру (владельцам данного форума). Если Вы имеете лицензионную копию XE5-6, то по данной ссылке можете скачать их без проблем.
  22. Вы используете AnsiToUtf8 Попробуйте UTF8Encode и UTF8Decode. Или UTF8ToString. В данном случае сложно, по крайней мере мне), понять - в чем может быть причина. Хотя когда-то сталкивался с аналогичной проблемой.
  23. Ну вариантов два. 1. Создать собственный стиль. 1.1. Можете скопировать (создать дубль) в редакторе donetoolbutton или подобный (например ButtonStyle), обозвать его на свой лад (например donetoolMYbutton) 1.2. Сохранить файл и загрузить его в контейнер TStyleBook 1.3. Исправить в Вашем варианте то что Вам требуется (добавить элементы, заменить, и т.д. и т.п.) 1.4. Применить изменения и пользовать для кнопок свой стиль (например donetoolMYbutton) так Вам не потребуется конструировать большую часть элементов кнопки, если таковые есть... 2. Раз Ваш проект под Android, то можно загрузить стиль KitKatStyle_XE5, а именно AndroidDark.style или AndroidLight.style Там уже есть стиль donetoolbutton и Вам потребуется сделать его дубль и соответствующие изменения, либо изменить просто его так как Вам требуется P.S. Ответ "нарисовал" примерно, не особо вдаваясь в детали. Но думаю, что все будет понятно.
×
×
  • Создать...