注册 登录
编程论坛 VFP论坛

ole控件总是覆盖在前面如何解决?

pzyun1988 发布于 2022-11-13 00:56, 2405 次点击
只有本站会员才能查看附件,请 登录
,接上一个帖子,OLE用Aplayer已经解决KTV点歌系统的基本功能,但这个ole控件总是覆盖在其他控件前面,比如我想在放视频的时候用label标签放在屏幕前显示“欢迎光临点歌系统”这种字幕,编辑的时候标签设置顶置正常的,但一运行标签就看不到了,怎么解决这个问题啊?
18 回复
#2
cssnet2022-11-13 06:55
实在不行就用个“三无”模式窗口(无标题栏、无关闭按钮、无边框等等)来显示标签,非常野蛮粗暴地压住下边的ole控件吧!
再用代码控制上层窗口的显示或隐藏。
严重期待大侠们提供更好的解决方案。
#3
吹水佬2022-11-13 12:04
OLE屏霸,可能是有自己的窗口消息过程,VFP的动作影响不了她。
#4
sam_jiang2022-11-13 14:00
ole控件其实是个窗体,你的控件无法覆盖它。。。

不过应该可以在ole上加一个label控件!可以动用api函数,获得ole控件的句柄,然后给它强行加个label控件!呵呵

当然可能单独建个form,去掉标题框,边框,就放个label可能是最简单的方法。

[此贴子已经被作者于2022-11-13 14:07编辑过]

#5
csyx2022-11-13 15:09
标签也用 ole 控件试试
#6
pzyun19882022-11-14 00:12
回复 3楼 吹水佬
没有好的方法了吗大佬
#7
pzyun19882022-11-14 00:13
回复 5楼 csyx
用魔法打败魔法?
#8
cjc10102022-11-14 08:27
把需要显示的字幕做成BMP或JPG图片,作为APlayer的LOGO来播放。
#9
pzyun19882022-11-17 00:25
虽然不是用你们的方法,但还是解决啦,哈哈哈!
只有本站会员才能查看附件,请 登录
只有本站会员才能查看附件,请 登录
#10
sam_jiang2022-11-17 00:45
怎么解决的?分享一下
#11
schtg2022-11-17 05:53
解决问题就好!
#12
kangss2022-11-17 13:47
以下是引用sam_jiang在2022-11-17 00:45:25的发言:

怎么解决的?分享一下

帮助中有。APlayer功能非常强大,并且免费

APlayer SDK 的最新版本可以在 http://aplayer.open. 下载到。
开发者论坛:http://aplayer.open.

只有本站会员才能查看附件,请 登录

只有本站会员才能查看附件,请 登录

只有本站会员才能查看附件,请 登录

只有本站会员才能查看附件,请 登录
#13
kangss2022-11-17 13:57
按帮助设置,大小颜色字体可以修改
只有本站会员才能查看附件,请 登录
#14
pzyun19882022-11-17 23:50
回复 13楼 kangss
我要字幕会像CCTV13下面那样会游动的,我用VFP+OBS实现了,哈哈😄
#15
pzyun19882022-11-17 23:52
回复 13楼 kangss
不知道APLAYER能实现字幕游动不?
#16
cjc10102022-11-18 08:15
回复 13楼 kangss
你那进度条是怎么实现实时的?用时间控件?
#17
seasoners2022-12-12 14:25
有偿分享吗?
QQ,123555628
#18
吹水佬2022-12-15 18:32
以下是引用cjc1010在2022-11-18 08:15:22的发言:

你那进度条是怎么实现实时的?用时间控件?

APlayer官方示例SimplePlayer好象也是用定时器,代码中有:

设置定时器
SetTimer(hwnd, 1, 1000, NULL);

定时器事件
void WINAPI Dlg_OnTimer(HWND hwnd, UINT id)

在定时器事件中调用 GetPosition 方法
g_MyPlayer.m_nPosition = g_MyPlayer.m_pAPlayer->GetPosition();
#19
kangss2022-12-24 13:00
以下是引用cjc1010在2022-11-18 08:15:22的发言:

你那进度条是怎么实现实时的?用时间控件?

是的。计时器读取播放进度与总进度比值,自己计算显示进度。

[此贴子已经被作者于2022-12-24 13:02编辑过]

1