:开窗口预览显示视频卡得到的影像 (300分)

  • 主题发起人 主题发起人 gxlzbig
  • 开始时间 开始时间
G

gxlzbig

Unregistered / Unconfirmed
GUEST, unregistred user!
有一块视频卡,输入一视频信号,有DLL库,有SetOverlayWindow(设备,rect)
能把影像显示在rect上,但rect显示区总在屏幕上,其他窗口都无法盖住它,
rect我是这样写的:
HDC:=Panel.Handle;
GetWindowRect(HDC,Rect1);
该卡给的例子是VC的,它是这样写的:
1: GetDlgItem(显示窗口)->ShowWindow(SW_SHOW);
2: GetDlgItem(显示窗口)->GetWindowRect(&WndRect);
3: Rect1=WndRect;
4: SetOverlayWindow(设备, &Rect1)
影像显示总在显示窗口中,在form中,不知在delphi中怎样做?


 
首先,没必要用HDC,直接用Panel.ClientRect.
其次,是不是你向我要DirectShow的播放控件呀?
 
Rect1设置的是什么?
 
Rect:TRect;
是我要DirectShow的播放控件
 
首先,没必要用HDC,直接用Panel.ClientRect.
这样不行!还是老样子,所有图像在屏幕最前方
 
问题不出在这里,
前面的代码有问题,你去仔细看一下C的代码,可能会发现类似指定Parent的操作
 
问题不是在这个函数上面,仔细到它的前面找,肯定有一段代码会设置该
视频的父窗口的,rect只是指定显示的位置,没有指定在哪个窗口里面显示,
当然会出现问题啦!
 
指定显示位置的代码有问题。
 
它是用GetDlgItem(显示窗口)->ShowWindow(SW_SHOW);
开显示窗口,如果没有这句,影像也不显示
 
设置该视频的父窗口有问题
 
GetDlgItem(显示窗口)->ShowWindow(SW_SHOW);只是让它被人看见.
与它是不是图象的父窗体无关
 
提个醒:
我发现在网页上放REALPLAYER时,如果切换窗口时,视频窗口也无法被盖掉。
 
有些视屏卡要设背景色,用特殊显示模式。
 
多人接受答案了。
 
后退
顶部