小弟我现在使用一个视频卡的SDK作二次开发,SDK中提供一个OCX,用于连接视频卡并显示
在界面上的.没有Canvas属性,但具有Handle: HWND属性,没有MouseDown等鼠标事件和Paint事件;
两个问题:
1:我现在想在该控件连接显示视频时,在之上使用代码绘制如线条字符串等图形.使用GetCD等API
可以绘出,但没有Paint事件,绘制代码不知到放在哪里?使用Timer定时绘制的话,闪烁很严重;2:我想在控件上面响应鼠标MouseDown等事件,怎么处理呢?
在界面上的.没有Canvas属性,但具有Handle: HWND属性,没有MouseDown等鼠标事件和Paint事件;
两个问题:
1:我现在想在该控件连接显示视频时,在之上使用代码绘制如线条字符串等图形.使用GetCD等API
可以绘出,但没有Paint事件,绘制代码不知到放在哪里?使用Timer定时绘制的话,闪烁很严重;2:我想在控件上面响应鼠标MouseDown等事件,怎么处理呢?
解决方案 »
- 请问有没有这种控件或这是如何实现的?类似comboBox和listview的结合体
- 请问下编写好的程序怎样进行打包
- dbchart的问题,横纵座标显示不出我期望的效果??
- 请各位大哥帮小弟一个忙,谢谢!
- delphibbs.com为什么关闭了啊?
- dsgnintf.pas
- 有没有类似于PPT里的编辑控件啊,像Edit一样,你点中它,周边就有一个框框起来,可以在里面编辑,可拖动(不能拖动的也行),背景透明的。
- 求一个delphi全角转半角的源码
- 请问:DELPHI中所定义的全局变量(public)有没有生存期?
- 痛定思痛,痛何如哉,老千,老鱼……
- if嵌套问题,简单!
- 请问用install shield 如何将sqlserver的数据库驱动一起?
先定义:
public
{ Public declarations }
procedure mymessage(var msg:tmsg;var handled:boolean);procedure TfrmMain.mymessage(var msg: tmsg; var handled: boolean);
begin
//检测是不是在控件ShockwaveFlash1上有点击UP
if (msg.message=WM_LBUTTONUP) and (msg.hwnd=ShockwaveFlash1.Handle) then
begin
//确定鼠标位置。
if (mouse.cursorpos.x<200) and (mouse.CursorPos.x>100) and (mouse.cursorpos.y<200) and (mouse.CursorPos.Y>100) then
begin
//你要做的事
handled:=true;
exit;
end;
end;
end;procedure TfrmMain.FormCreate(Sender: TObject);
beginapplication.onmessage:=mymessage;end;
这样应该可以!
从测试代码中好像可以,但还得过两天接上摄像头试一下效果,OK的话,立即结帖给分!