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

Лидеры

  1. enatechno

    enatechno

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


    • Баллы

      7

    • Постов

      181


  2. AngryOwl

    AngryOwl

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


    • Баллы

      5

    • Постов

      394


  3. Равиль Зарипов (ZuBy)

    Равиль Зарипов (ZuBy)

    Модераторы


    • Баллы

      4

    • Постов

      2 517


  4. Andrey Efimov

    Andrey Efimov

    Модераторы


    • Баллы

      2

    • Постов

      842


Популярный контент

Показан контент с высокой репутацией 16.03.2017 во всех областях

  1. enatechno

    Прозрачные контролы

    Полностью согласен. panelstyle - это и есть только один TRectangle. StyleEditor не позволяет его сделать Visible=false. Но можно менять Opacity. Если нужна невидимая панель, то лучше использовать обычный TLayout, который вообще не использует стиль. Работа с background в TGroupbox зависит от платформы. Посмотрите в редакторе стилей на дефолтный groupboxstyle: - для платформы Windows: текст, используемый для заголовка группы, расположен на объекте background. Если Вы будете менять видимость или прозрачность background, то текст тоже будет невидимым/прозрачным. - для платформы Android: текст расположен на отдельном layout. В этом случае изменение видимости/прозрачности background не влияет на отображение текста заголовка.
    3 балла
  2. enatechno

    OnCreate для фрейма

    Да. constructor Create(AOwner: TComponent); override;
    2 балла
  3. AngryOwl

    Прозрачные контролы

    Согласен. Я, например, делаю либо свой стиль для нужного компонента, либо делаю копию (например от стиля Android), если хочу чтобы выглядело абсолютно одинаково везде. Можно оставить родной стиль для TPanel, сделав свой стиль, типа panelopacitystyle (и потом задав его вашим панелям, которым требуется именно прозрачность), в котором вы можете изголяться со стилем как вашей душе будет угодно. Заполнять панели чем угодно, хоть картинками... При этом, в чем прелесть, - можно программно менять стиль из приложения при необходимости (например, - реакция на какие-либо события).
    2 балла
  4. AngryOwl

    Прозрачные контролы

    Если не ошибаюсь, то у стандартного стиля для Panel - TRectangle - это и есть весь стиль ))) Потому и не может быть Visible=False ) Так уберите у него заливку, сделав ее прозрачной. И все.
    2 балла
  5. Andrey Efimov

    Version Info, label (Android)

    Прямая ссылка в блог: Автоматическая смена названия приложения в зависимости от языка системы Ссылка на форуме(Раздел "Статьи"): [Статья][Android] Автоматическая смена названия приложения в зависимости от языка системы и ещё есть обычные темы по этому вопросу, но прикладывать не буду. p.s. Народ совсем обленился, сложно поиском воспользоваться...
    2 балла
  6. enatechno

    FDQuery & LocalUpdate

    FDQuery1.CachedUpdates := True; подробнее тут
    1 балл
  7. Все используют деплой, вот попробуйте этот проект запустить у себя
    1 балл
  8. Странная потребность, если не вариант пробежать по диагонали, тогда, возможно как вариант)): создайте массив размера Width * Height * глубину (на 4 в случае 32 bit); Глубина в данном случае не совсем корректно, чтоб было понятно: на R+G+B+Alpha обнулите его через, увы не силен в Delphi на ++ через ZeroMemory; Byte *destPtr; destPtr = (Byte*)bitmap->ScanLine[bitmap->Height - 1] это указатель на начало dib битмапа; ну а дальше сравните просто сравните два участка памяти через memcmp или как угодно. Не факт что сработает, но попробовать можно. Я таким макаром сравнивал изображения, когда нужно было очень быстро.
    1 балл
  9. А делфи мучать обязательно? Сохрани word как pdf'ку и открывай на телефоне
    1 балл
  10. enatechno

    Прозрачные контролы

    Это решается редактированием стиля. Например так: 1). Размещаете TGroupbox на форме 2). ПКМ на нем 3). в контекстном меню выбираете Edit Custom Style (или Edit Default style) 4). в открывшемся редакторе стиля указываете платформу (Android) 5). выбираете объект background (по умолчанию он белый). 6). задаете ему свойство Visible=false
    1 балл
  11. в FMX все делается с помощью стилей, нужно отредактировать стиль TGroupbox
    1 балл
  12. procedure LoadBitmapFromURL(const aURL: string; aBitmap: TBitmap; const aSuccess: TThreadProcedure = nil; const aError: TThreadProcedure = nil); var thread: TThread; begin thread := TThread.CreateAnonymousThread( procedure var HTTP: THTTPClient; Result: TMemoryStream; begin Result := TMemoryStream.Create; HTTP := THTTPClient.Create; try try HTTP.Get(aURL, Result); TThread.Synchronize(TThread.CurrentThread, procedure var aSourceBmp: TBitmap; begin aSourceBmp := TBitmap.Create; try aSourceBmp.LoadFromStream(Result); if not aSourceBmp.IsEmpty then begin aBitmap.SetSize(aSourceBmp.Width, aSourceBmp.Height); aBitmap.CopyFromBitmap(aSourceBmp); if Assigned(aSuccess) then aSuccess; end; finally FreeAndNil(aSourceBmp); end; end); except TThread.Synchronize(TThread.CurrentThread, procedure begin if Assigned(aError) then aError; end); end; finally FreeAndNil(Result); FreeAndNil(HTTP); end; end); thread.FreeOnTerminate := true; thread.start; end; в последнее время пользуюсь такой конструкцией
    1 балл
  13. само скачивание картинки HTTPClient.Get должен быть в потоке, а при успешном скачивании нужно делать синхронизацию с главным потоком и "вставлять" картинку в нужное место
    1 балл
  14. Мне это видится примерно так: Отключите автоматическое создание форм. Сначала создайте Splash-форму (эту можно оставить в автомате). Отобразите ее. Создайте вашу "главную" форму. В процедуре OnFormCreate сделайте Preload для стиля (тут на форуме это обсуждалось) - это позволит загрузить стиль, отрисовать все и только затем отобразит вашу форму (по крайней мере - отрисовка произойдет мгновенно, проверено на формах с сотнями компонентов). На OnShow вашей "главной" формы сделайте Application.MainForm := ваша_"главная"_форма и скройте Splash-форму. З.Ы. И, да - лучше оперировать фреймами и создавать их и удалять только тогда, когда они нужны. На скорость это практически не влияет, даже если у вас меню будут фреймами... Это из личного опыта - все достаточно быстро!
    1 балл
Эта таблица лидеров рассчитана в Москва/GMT+03:00
×
×
  • Создать...