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

Dmitry_4501

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

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

  • Посещение

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

    9

Активность репутации

  1. Thanks
    Dmitry_4501 получил реакцию от gorodoro в Рисование на неклиентской часть окна   
    Подключусь к теме...

    Как-то пытался сделать подобное и в принципе получилось, безрамочное окно, которое по-нативному работает, что удалось заставить работать:
    Если взять окно за заголовок и начать двигать им туда-сюда, то все остальные окна свернутся - нативное поведение Если взять окно за заголовок то в Windows 11 появляется верхнее меню с макетами отображения на экране - нативное поведение Если взять окно за заголовок и перетащить его к одному из краев экрана, то появится макет для отображения окна - нативное поведение Нативным образом реализовано изменение размера за все края формы, включая диагональные. Так же окно имеет нативные анимации появления\исчезания, разворачивания\сворачивания Так же имеется нативная тень А на Windows 11 имеются закруглённые края окна
    Что не получилось:
    Не получилось реализовать нативное поведение, когда в Windows 11 наводишь курсор на кнопку "развернуть окно", там появляется небольшое меню с макетами отображения на экране. Нормально реализовать границы для изменения размеров окна, ибо из-коробки они находятся за пределами окна в поле где тень у окна (в Windows 10 и Windows 11 так), у меня же они внутри окна. Как-то делал и получалось, но уже не помню. Код несложно адаптировать и под FireMonkey
    BorderlessWindowWithAeroSnap.zip
  2. Thanks
    Dmitry_4501 получил реакцию от Letter в Удалить файлы отмеченные   
    Попробуйте вот так (не самый идеальный вариант, но он работает и ошибок не выдает).
    procedure TForm1.Button1Click(Sender: TObject); begin var selectedItems: TArray<TListBoxItem>; // Объявляем массив из объектов TListBoxItem for var item: TFMXObject in ListBox1.Children.Items[1].Children do // Перебираем каждый дочерний компонент в ListBox, который является экземпляром класса TListBoxItem. begin if item is TListBoxItem then // Проверяем, является ли item экземпляром класса TListBoxItem if TListBoxItem(item).IsChecked then // Проверяем, является ли элемент отмеченным галочкой begin System.SetLength(selectedItems, System.Length(selectedItems) + 1); // Увеличиваем длину массива selectedItems[High(selectedItems)] := TListBoxItem(item); // Вставляем элемент в массив end; end; DeleteAllCheckedFiles(selectedItems); end; procedure TForm1.DeleteAllCheckedFiles(items: TArray<TListBoxItem>); begin if System.Length(items) < 1 then Exit; for var i: Integer := 0 to System.Length(items) - 1 do begin var item: TListBoxItem := items[i]; if Assigned(item) then begin // TFile.Delete(item.Text); item.Free(); // Освобождаем память, тем самым объект уничтожится и больше не будет находиться в списке элементов TListBox end; end; end;
  3. Like
    Dmitry_4501 получил реакцию от krapotkin в Рисование на неклиентской часть окна   
    Оконные сообщения в FMX можно обрабатывать так же как и в VCL.
    Достаточно в вашу WindowProc добавить это:
    var Message: TMessage; Message.Msg := uMsg; Message.WParam := wParam; Message.LParam := lParam; Message.Result := 0; frm.Dispatch(Message); Тогда потом можно будет смело написать что-то вроде
    procedure WMNCPaint(var Message: TWMNCPaint); message WM_NCPAINT; 
    И оно будет работать.
     
  4. Like
    Dmitry_4501 получил реакцию от Letter в Удалить файлы отмеченные   
    Проходишь циклом по всему списку и у каждого элемента проверяешь свойство IsChecked, если оно true, то тогда при помощи TFile.Delete удаляешь файл.
     
    Как-то так:
    procedure DeleteAllCheckedFiles(); begin if ListBox1.Count < 1 then Exit; // Если количество элементов меньше 1, то выходим из процедуры for var I: Integer := 0 to ListBox1.Count - 1 do if ListBox1.ListItems[I].IsChecked then // Проверяем свойство IsChecked (т.е отмечен ли элемент) TFile.Delete(ListBox1.ListItems[I].Text); // Удаляем файл (только в том случае, если в тексте элемента записан путь до файла, иначе придется переделать эту строчку под свои нужды) end; Для TFile.Delete необходимо подключить юнит System.IOUtils
  5. Like
    Dmitry_4501 получил реакцию от Semitako в libbass.so не загружается.   
    Держите, кому нужно. В архиве библиотеки BASS (для Windows и Android), а так же все найденные мною дополнения (У меня есть дополнения не для всех платформ. Например, какие-то дополнения я нашел только под Windows, а библиотеки каких-то дополнений BASS есть не на каждый процессор)
    ВАЖНОЕ ЗАМЕЧАНИЕ: Для дополнений у меня нет юнитов, но их не сложно сделать самому. Просто скачиваем с сайта un4seen необходимые плагины для Windows и переписываем его на динамическую загрузку (LoadLibrary, GetProcAddress и т.д.).
    Библиотеку протестировал, проверил не все функции, но основное все работало прекрасно. Проверял следующее:
    BASS_Init, BASS_StreamCreateFile, BASS_StreamCreateURL, BASS_ChannelPlay, BASS_ChannelPause, BASS_ChannelIsActive, BASS_ChannelGetAttribute, BASS_ChannelSetAttribute, BASS_ChannelGetLength, BASS_GetConfig, BASS_SetConfig, BASS_GetConfigPtr, BASS_SetConfigPtr (вроде все, может что-то упустил). Все работало на Windows и Android.
    Если нужна будет помощь с подключением библиотеки - задавайте вопросы  
     
     
     
    bass.zip
  6. Thanks
    Dmitry_4501 получил реакцию от Sascha в Как одновременно изменить Position.X и Position.Y в анимации?   
    Попробуйте библиотеку компонентов FGX, она содержит компонент TFgPositionAnimation, созданный для анимации свойств типа TPosition.

    Я сам пробовал использовать этот компонент - работал нормально.
  7. Thanks
    Dmitry_4501 отреагировална slav_z в Как получить иконку файла или папки?   
    вообще, чтобы получить HICON, достаточно только этого:

  8. Thanks
    Dmitry_4501 отреагировална OnePeople в Как получить иконку файла или папки?   
    Да вроде не должно, тут по идее нужно только расширение файла:
    SHGetFileInfo(PChar(Extension),
                        FILE_ATTRIBUTE_NORMAL,
                        FileInfo,
                        SizeOf(FileInfo),
                        SHGFI_ICON or SHGFI_SMALLICON or
                        SHGFI_SYSICONINDEX or SHGFI_USEFILEATTRIBUTES
                        );
  9. Like
    Dmitry_4501 получил реакцию от Ingalime в [РЕШЕНО]: Как отловить кнопки пульта ДУ   
    В общем удалось решить проблему с кнопками пульта. Теперь приложение распознает все кнопки с пульта. Если кому-то нужно, прикрепил архив. (Delphi 10.3.1 Rio)
     
    fmx_androidkey_fix.zip
  10. Like
    Dmitry_4501 получил реакцию от #WAMACO в libbass.so не загружается.   
    Держите, кому нужно. В архиве библиотеки BASS (для Windows и Android), а так же все найденные мною дополнения (У меня есть дополнения не для всех платформ. Например, какие-то дополнения я нашел только под Windows, а библиотеки каких-то дополнений BASS есть не на каждый процессор)
    ВАЖНОЕ ЗАМЕЧАНИЕ: Для дополнений у меня нет юнитов, но их не сложно сделать самому. Просто скачиваем с сайта un4seen необходимые плагины для Windows и переписываем его на динамическую загрузку (LoadLibrary, GetProcAddress и т.д.).
    Библиотеку протестировал, проверил не все функции, но основное все работало прекрасно. Проверял следующее:
    BASS_Init, BASS_StreamCreateFile, BASS_StreamCreateURL, BASS_ChannelPlay, BASS_ChannelPause, BASS_ChannelIsActive, BASS_ChannelGetAttribute, BASS_ChannelSetAttribute, BASS_ChannelGetLength, BASS_GetConfig, BASS_SetConfig, BASS_GetConfigPtr, BASS_SetConfigPtr (вроде все, может что-то упустил). Все работало на Windows и Android.
    Если нужна будет помощь с подключением библиотеки - задавайте вопросы  
     
     
     
    bass.zip
  11. Like
    Dmitry_4501 получил реакцию от Ingalime в libbass.so не загружается.   
    Держите, кому нужно. В архиве библиотеки BASS (для Windows и Android), а так же все найденные мною дополнения (У меня есть дополнения не для всех платформ. Например, какие-то дополнения я нашел только под Windows, а библиотеки каких-то дополнений BASS есть не на каждый процессор)
    ВАЖНОЕ ЗАМЕЧАНИЕ: Для дополнений у меня нет юнитов, но их не сложно сделать самому. Просто скачиваем с сайта un4seen необходимые плагины для Windows и переписываем его на динамическую загрузку (LoadLibrary, GetProcAddress и т.д.).
    Библиотеку протестировал, проверил не все функции, но основное все работало прекрасно. Проверял следующее:
    BASS_Init, BASS_StreamCreateFile, BASS_StreamCreateURL, BASS_ChannelPlay, BASS_ChannelPause, BASS_ChannelIsActive, BASS_ChannelGetAttribute, BASS_ChannelSetAttribute, BASS_ChannelGetLength, BASS_GetConfig, BASS_SetConfig, BASS_GetConfigPtr, BASS_SetConfigPtr (вроде все, может что-то упустил). Все работало на Windows и Android.
    Если нужна будет помощь с подключением библиотеки - задавайте вопросы  
     
     
     
    bass.zip
  12. Like
    Dmitry_4501 отреагировална Евгений Корепов в [РЕШЕНО]: Как отловить кнопки пульта ДУ   
    Друзья, вы будете смеяться - Эмбаркадера наконец то обратила внимание на заявку по этой проблеме. Правда в стиле моя-твоя непонимай ))) 
    https://quality.embarcadero.com/browse/RSP-16910
  13. Like
    Dmitry_4501 получил реакцию от petyaas в [РЕШЕНО]: Как отловить кнопки пульта ДУ   
    В общем удалось решить проблему с кнопками пульта. Теперь приложение распознает все кнопки с пульта. Если кому-то нужно, прикрепил архив. (Delphi 10.3.1 Rio)
     
    fmx_androidkey_fix.zip
  14. Like
    Dmitry_4501 получил реакцию от dnekrasov в BlurBehind Control   
    BlurBehind Control. 
     
    Компонент позволяет использовать размытие, по типу, которое реализовано в WIndows 10, т.е компонент позволяет "размыть" то, что находится под ним.
     
    Пусть и увидел это непосредственно в самой студии на стартовой странице (Welcome Page), но все-таки подумал скинуть ссылку сюда.

    Исходники: https://github.com/grijjy/CodeRage2019/tree/master/BlurBehind
    Видео:

     
  15. Like
    Dmitry_4501 получил реакцию от Barbanel в BlurBehind Control   
    BlurBehind Control. 
     
    Компонент позволяет использовать размытие, по типу, которое реализовано в WIndows 10, т.е компонент позволяет "размыть" то, что находится под ним.
     
    Пусть и увидел это непосредственно в самой студии на стартовой странице (Welcome Page), но все-таки подумал скинуть ссылку сюда.

    Исходники: https://github.com/grijjy/CodeRage2019/tree/master/BlurBehind
    Видео:

     
  16. Like
    Dmitry_4501 получил реакцию от aleksandrguru в BlurBehind Control   
    BlurBehind Control. 
     
    Компонент позволяет использовать размытие, по типу, которое реализовано в WIndows 10, т.е компонент позволяет "размыть" то, что находится под ним.
     
    Пусть и увидел это непосредственно в самой студии на стартовой странице (Welcome Page), но все-таки подумал скинуть ссылку сюда.

    Исходники: https://github.com/grijjy/CodeRage2019/tree/master/BlurBehind
    Видео:

     
  17. Like
    Dmitry_4501 получил реакцию от Ingalime в BlurBehind Control   
    BlurBehind Control. 
     
    Компонент позволяет использовать размытие, по типу, которое реализовано в WIndows 10, т.е компонент позволяет "размыть" то, что находится под ним.
     
    Пусть и увидел это непосредственно в самой студии на стартовой странице (Welcome Page), но все-таки подумал скинуть ссылку сюда.

    Исходники: https://github.com/grijjy/CodeRage2019/tree/master/BlurBehind
    Видео:

     
  18. Like
    Dmitry_4501 получил реакцию от Andrey Efimov в [РЕШЕНО]: Как отловить кнопки пульта ДУ   
    В общем удалось решить проблему с кнопками пульта. Теперь приложение распознает все кнопки с пульта. Если кому-то нужно, прикрепил архив. (Delphi 10.3.1 Rio)
     
    fmx_androidkey_fix.zip
  19. Like
    Dmitry_4501 отреагировална Barbanel в Исправили или нет? (Delphi 10.3.2)   
    Был как-то на презентации Embarcadero, был задан вопрос из зала про эту ошибку.
    Менеджер ответил что это сильно второстепенная задача, и вообще он рекомендует эту подсветку выключать, ибо в некоторых случаях она напрочь ломается и неправильно группирует участки кода.
    (в нашем рабочем проекте - 80-90% времени подсветка ведет себя неадекватно)
    Исходя из опыта общения с этим чуваком, для себя я сделал вывод что это пофиксят очень нескоро.
    А вообще не парьтесь, подсветка не главное)
  20. Like
    Dmitry_4501 получил реакцию от Евгений Корепов в [РЕШЕНО]: Как отловить кнопки пульта ДУ   
    В общем. Embarcadero решились таки исправить проблему с кнопками сами и теперь приложение у меня работает нормально, все кнопки с пульта отлавливаются и коды приходят, но все же бегло просмотрел файлы и сразу же наткнулся на то, что не все кнопки были добавлены, ибо у Google коды кнопок идут от 0 до 285, а вот Embarcadero добавили только от 0 до 221, не знаю, почему не добавили все.
    Используемая версия IDE: Rio 10.3.2
  21. Like
    Dmitry_4501 получил реакцию от mazayhin в [РЕШЕНО]: Как отловить кнопки пульта ДУ   
    В общем удалось решить проблему с кнопками пульта. Теперь приложение распознает все кнопки с пульта. Если кому-то нужно, прикрепил архив. (Delphi 10.3.1 Rio)
     
    fmx_androidkey_fix.zip
  22. Thanks
    Dmitry_4501 получил реакцию от Tumaso в [РЕШЕНО]: Как отловить кнопки пульта ДУ   
    В общем удалось решить проблему с кнопками пульта. Теперь приложение распознает все кнопки с пульта. Если кому-то нужно, прикрепил архив. (Delphi 10.3.1 Rio)
     
    fmx_androidkey_fix.zip
  23. Like
    Dmitry_4501 получил реакцию от krapotkin в [РЕШЕНО]: Как отловить кнопки пульта ДУ   
    В общем удалось решить проблему с кнопками пульта. Теперь приложение распознает все кнопки с пульта. Если кому-то нужно, прикрепил архив. (Delphi 10.3.1 Rio)
     
    fmx_androidkey_fix.zip
  24. Thanks
    Dmitry_4501 получил реакцию от Barbanel в [РЕШЕНО]: Как отловить кнопки пульта ДУ   
    В общем удалось решить проблему с кнопками пульта. Теперь приложение распознает все кнопки с пульта. Если кому-то нужно, прикрепил архив. (Delphi 10.3.1 Rio)
     
    fmx_androidkey_fix.zip
  25. Thanks
    Dmitry_4501 получил реакцию от Евгений Корепов в [РЕШЕНО]: Как отловить кнопки пульта ДУ   
    В общем удалось решить проблему с кнопками пульта. Теперь приложение распознает все кнопки с пульта. Если кому-то нужно, прикрепил архив. (Delphi 10.3.1 Rio)
     
    fmx_androidkey_fix.zip
×
×
  • Создать...