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

AngryOwl

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

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

  • Посещение

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

    45

Сообщения, опубликованные AngryOwl

  1. Спасибо Ярослав за инфу. Я уже большую часть функций давно реализовал, а недавно посмотрел и в XE8 то о чем Вы написали.

    Жаль, что это только в XE8... (так как 8-ка меня "не порадовала"...)

  2. [Вячеслав] - нет, не связывался.

    В данном случае я согласен с [ruslan].

    Надеюсь разрабы обратят внимание на этот вопрос. Так как он касается не только видео, но и быстродействия приложений в целом.

  3. Нет. Вам придется создавать либо свой новый, унаследованный от TTabControl, либо поступить проще - использовать два компонента. Один - TTabControl, но вкладки сделать невидимыми, а второй - любой другой, типа TListBox или TPanel с кнопками (и т.д. и т.п.), где второй - будет переключать вкладки...

  4. Сделайте так (и уверен - будет работать, но придется каждый раз так делать)))) :

    • Открываете Ваш проект (с Вашим компонентом)
    • среда ругнется
    • закрываете проект (Close all)
    • снова открываете Ваш проект

    и он откроется нормально :))

     

    З.Ы. этот баг тянется уже давно....

  5. Если я Вас правильно понял, то:

    - нужно создать файлик style.xml

    - содержимое файла должно быть типа

    <resources>
    <style name="MyTheme.NoTitleBar.CustomBackground" parent="@android:Theme.Holo">
      <item name="android:windowBackground">@drawable/splash_centered</item>
      <item name="android:windowNoTitle">true</item>
      <item name="android:windowFullscreen">false</item>
    </style>
    </resources>
    

    где в Вашем случае главное - @android:Theme.Holo

    - далее этот файл (style.xml) надо задеплоить

    post-115-0-47864200-1430520246_thumb.png

     

    Вот. Думаю это то что Вам нужно было.

    Остальные параметры - на Ваше усмотрение.

  6. Так....

    Ну попробуйте вот что:

    в protected формы запишите:

      protected
        procedure CreateHandle; override;
    

    А затем

    procedure TfmMain.CreateHandle;
    begin
      inherited CreateHandle;
      {$IFDEF MSWINDOWS}
      SetWindowLong(WindowHandleToPlatform(Handle).Wnd, GWL_EXSTYLE,
        GetWindowLong(WindowHandleToPlatform(Handle).Wnd, GWL_EXSTYLE) or WS_EX_APPWINDOW);
      {$ENDIF}
    end;
    
  7.  

    Ответы есть, конечно.

    Но Вам нужно их задавать отдельно. Внимательно читать, и, главное, с уважением относиться ко всем участникам. У большинства из нас просто нет времени, и стараемся отвечать кратко, только когда есть свободная минутка и знаем ответ.

     

    По поводу TWebBrowser - дождитесь ответа. Я, к сожалению, не могу ничего сказать, не пробовал.

     

    Что касается перемещения формы за любой элемент:

    - во-первых элемент, за который будете перемещать, должен иметь свойство HitTest = True

    - во вторых, в обработчике события этого элемента OnMouseDown ставьте StartWindowDrag

    - и в-третьих, чтобы менять размер формы, при этом не имея рамок и имея вид как был описан выше - разместите на форме элемент TSizeGrip

     

    все

    Спасибо, проверил работает! Мне не хватало этой функции. :rolleyes:  :)

     

    Ну вот и замечательно! Искренне рад, что смог чем-то помочь.

  8. Да все решается. Есть конечно грабли. Но я не стал бы и писать, если бы не работало.

    И мышкой можно очень быстро дивигать форму (и пальцем, если на планшете), и размеры формы можно ограничить, и ничего не мерцает и не глючит..

     

    [sviat] - ничего страшного. все ок

  9. Ответы есть, конечно.

    Но Вам нужно их задавать отдельно. Внимательно читать, и, главное, с уважением относиться ко всем участникам. У большинства из нас просто нет времени, и стараемся отвечать кратко, только когда есть свободная минутка и знаем ответ.

     

    По поводу TWebBrowser - дождитесь ответа. Я, к сожалению, не могу ничего сказать, не пробовал.

     

    Что касается перемещения формы за любой элемент:

    - во-первых элемент, за который будете перемещать, должен иметь свойство HitTest = True

    - во вторых, в обработчике события этого элемента OnMouseDown ставьте StartWindowDrag

    - и в-третьих, чтобы менять размер формы, при этом не имея рамок и имея вид как был описан выше - разместите на форме элемент TSizeGrip

     

    все

  10. пфф, так это я давно делал, мне нужно, чтобы системный бордюр застилизовать. Чтобы можно было менять положение, и размер формы.

    Молодой человек...

    Вы меня удивляете)

    Больше читайте. Посетите блог Андрея Ефимова. Да и здесь информации море.

    Не думаете же Вы что здесь в одном вопросе Вам напишут сразу все... Да и элементарные в общем то вещи...

  11. "Дальше делаете свою форму без рамок и прозрачной. Размещаете на ней любой элемент (например TPanel) с выравниваем, например, Contents. И задаете этой панеле новый стиль."

    Ваша форма будет выглядеть как панель со стилем panelformministyle

     

    А-ля типа так:

    post-115-0-35047400-1430402320_thumb.jpg

     

    З.Ы. Надеюсь меня не забанят... потому названий не даю)

  12. [sviat] - дать то можно что угодно. но в данном случае мы рискуем нарваться не негодование владельцев форума... так как все это лицензировано.

    (по секрету скажу - на трекерах не пробовали искать?....))

     

    [AndreyS] - можно. легко! Тема уже поднималась на форуме (ща попробую найти)

     

    Не нашел (просто не помню). Может из-за того, что вопрос был не по теме (кстати!)

    Но решение такое:

    Делаете новый элемент стиля

    post-115-0-01983500-1430400724.pngpost-115-0-50485600-1430400732.png

     

    Дальше делаете свою форму без рамок и прозрачной. Размещаете на ней любой элемент (например TPanel) с выравниваем, например, Contents. И задаете этой панеле новый стиль.

    Где элемент Image это

    post-115-0-75153000-1430401016.png

    а его свойства, типа:

    post-115-0-81586300-1430401129_thumb.png

     

    Все. Только "поиграйтесь" со значениями BitmapMargins (у меня тени другие)

  13. Для формы (каждой) пишем

    TfmMain = class(TForm)
      ...
      procedure SetBounds(ALeft, ATop, AWidth, AHeight: Integer); override;
      ...
      protected
      private
      public
      ....
    end;
    procedure TfmMain.SetBounds(ALeft, ATop, AWidth, AHeight: Integer);
    begin
      // тут, конечно, ваши значения
      if AWidth < 740 then
        AWidth:= 740;
      if AHeight < 530 then
        AHeight:= 530;
      inherited SetBounds(ALeft, ATop, AWidth, AHeight);
    end;
    
  14. Components - это что?

    Компоненты чего в смысле? Приложения (Application)? Главной формы? И т.д....

    В Вашем случае даже версия под Win не дает гарантии стабильной и правильной работы.

    Попробуйте конкретно указать родителя.

  15. Стандартными средствами - никак!

    Я не уверен, но думаю что предложенный [zonik] вариант тоже не поможет... Но тут, повторяюсь, я не уверен.

    И еще. Сохранение снятого видео в файл - это еще пол беды, и решить его не сложно. Намного сложнее вопрос - что делать, если нужна потоковая обработка видео? Например - для передачи по сети. И то решение которое существует (с несколькими кадрами в сек.) - не лезет ни в какие ворота...

    В этом смысле меня иной раз напрягает отношение разработчиков к данной проблеме. Это ведь касается и не только видео. Когда они (эмбаркадеровцы) начинают показывать - "смотрите какие клевые фишки можно делать в 3D" (типа всяких лесенок..), и при этом не решают самых главных проблем - быстродействие GUI при решении элементарных задач обычного интерфейса.

  16. Как я понимаю - если Вы переопределили стиль, то теперь Вы сами отвечаете за перерисовку компонента (ListBoxItem).

    Следовательно Вам нужно:

    - для каждого добавляемого Item'а переназначить обработчик события OnApplyStyleLookup

    - в новом обработчике "перерисовывать" те элементы, которые Вы создали сами или которыми хотите управлять "нестандартно".

    Поэтому Вы должны проверить в обработчике - выделен ли Item, и если да - перерисовать картинку.

     

    Думаю так...

     

    P.S. Можно при клике на итем вызывать для него событие ApplyStyle. (чтобы вызвать Ваш собственный обработчик)

×
×
  • Создать...