Delphi,TPanel对象中的句柄

时间:2014-09-24 12:32:46

标签: delphi firemonkey delphi-xe6 mplayer handles

我正在阅读tmplayer和MPUI的源代码,两个媒体播放器都使用MPlayer作为后端在Delphi中播放媒体文件,我注意到这里以及其他我尝试过的旧代码我可以'使用

Form1.Rectangle1.Handle

或者就像tmp图层试图在TPanel

处管道视频输出一样
CmdLine := HomeDir + 'mplayer.exe -slave -identify'
+' -wid ' + IntToStr(Form1.Panel1.Handle) + ' -colorkey 0x101010'
+' -nokeepaspect -framedrop -autosync 100' + #32 + Media;

正如您所看到的,RAD studio xe6 / 7抱怨该元素不包含名为Handle的参数。这是旧版本中曾经有效的东西,但不能再使用,如果是,我怎样才能以简单的Firemonkey形式完成相同的任务。

修改

好的,现在我很清楚Handle参数仅适用于VCL表单。试着改写我的问题,

如何在Firemonkey表单中移植该特定代码行(获取组件句柄)?

1 个答案:

答案 0 :(得分:2)

Firemonkey中的面板和/或矩形没有Handle作为成员。 FireMonkey Handle是Form组件的成员。

您可以使用函数WindowHandleToPlatform将FireMonkey句柄转换为特定于平台的句柄,但无法获取表单内控件的句柄。

也许你可以用另一个内部形式替换Rectangle并获取它的句柄。看看FMXEmbeddedForm