• 0
denprox

Как получить hwnd контрола ?

Вопрос

Доброго времени суток! Подскажите, как получить хендл (HWND) контрола, например TImage расположенного на форме ? 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

4 ответа на этот вопрос

  • 0

а откуда у TImage HWND ? - это же не WinControl

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
  • 0
16 минут назад, krapotkin сказал:

а откуда у TImage HWND ? - это же не WinControl

Пардон) допустим не Image а TPanel ? В VCL можно было написать просто Panel1.handle, а как в FMX это реализуется? 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
  • 0

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
  • 0

В VCL TPanel - это было окно (Window) со своим холстом (DC Canvas). И многие компоненты VCL это обертка над WinAPI - т.е. окна с определенным стилем который предлагает система.

В FMX все отрисовывается собственным фреймворком (мультиплатформа ведь!), собственный рендер,  и теперь это не Window, соответственно у него нет дескриптора, как и у всех остальных визуальных компонентов FMX, кроме формы.  

Расскажите лучше что вам нужно сделать.

Изменено пользователем ENERGY
Brovin Yaroslav понравилось это

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Создайте аккаунт или войдите для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!


Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.


Войти сейчас

  • Похожие публикации

    • Автор: AliZairov
      Привет. Я делаю Android компонент. Я использовал TControl как класс. Проблемы TControl памяти.
      property Position stored True; property Width stored True; property Height stored True; constructor TAZVideoPlayer.Create(AOwner: TComponent); begin inherited; Log.d ( Round(Self.Position.X).ToString + 'x' + Round(Self.Position.Y).ToString + '_' + Round(Self.Width).ToString + 'x' + Round(Self.Height).ToString ); end; var V: TAZVideoPlayer; begin V := TAZVideoPlayer.Create(Self); V.Position.X := 112; V.Position.Y := 112; V.Width := 100; V.Height := 100; Настройки не будут записаны. Где я ошибаюсь?
      Logcat: FMX: App: 0x0_50x50
    • Автор: antarey
      В андроид апи  в классе  android.view.View  есть процедура public void startAnimation (Animation animation)
       
      Если написать обертку для android.view.animation.Animation можно передать startAnimation (Animation animation) в TControl и главное как?
      чтобы получилось как на яве
      mView1.startAnimation(anim);
    • Автор: Brovin Yaroslav
      Как лучше определить пересекаются ли два контрола или нет (Поворот контролов не учитывается)?
    • Автор: rareMax
      Как лучше сделать перемещение контролов на форме с помощью "пальца", мыши или стилуса?
    • Автор: rareMax
      Возможно ли рисовать анимацию на других компонентах? Вот например как MediaPlayer (VCL) - в свойстве можно выбрать было разные компоненты для отображения видео. В случае с ФМ - можно рисовать только на специальном компоненте MediaPlayerControl. Это случайность, или теперь не получится рисовать на разных компонентах? Если же возможно - поделитесь техникой, как это сделать.
  • Сейчас на странице   0 пользователей

    Нет пользователей, просматривающих эту страницу