我正在阅读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表单中移植该特定代码行(获取组件句柄)?
答案 0 :(得分:2)
Firemonkey中的面板和/或矩形没有Handle作为成员。 FireMonkey Handle是Form组件的成员。
您可以使用函数WindowHandleToPlatform将FireMonkey句柄转换为特定于平台的句柄,但无法获取表单内控件的句柄。
也许你可以用另一个内部形式替换Rectangle并获取它的句柄。看看FMXEmbeddedForm。