几个函数转换(vc++------>>delphi) (300分)

  • 主题发起人 主题发起人 BlackDragon
  • 开始时间 开始时间
B

BlackDragon

Unregistered / Unconfirmed
GUEST, unregistred user!
CPalette* pPalette=this->GetDC()->GetCurrentPalette();
ICDrawbegin
(m_CV.hic,ICDRAW_CONTINUE|ICDRAW_HDC,(HPALETTE)pPalette->GetSafeHandle(),this->GetSafeHwnd(),
this->GetDC()->GetSafeHdc(),0,0,200,200,&m_InInfo.bmiHeader,0,0,m_InInfo.bmiHeader.biWidth,
m_InInfo.bmiHeader.biHeight,m_CV.lDataRate,m_CV.lDataRate/m_CV.lKey);
主要就是
1,pPalette=this->GetDC()->GetCurrentPalette();
2,this->GetDC()->GetSafeHdc(),
3,,(HPALETTE)pPalette->GetSafeHandle(),
4,this->GetSafeHwnd(),
哪个好人帮帮忙?把它转成 delphi.
 
???什么问题呀
 
叫你将VC写的程序转换成Delphi/bcb的。
 
贴得齐全一点
this是什么来的? this->GetDC()搞不好是this指针指向的对象所拥有的方法
其返回值定不是象API GetDC一样只是一个HANDLE,而应该是另一个对象
其中GetCurrentPalette();则是那个对象的方法。
 
http://delphi.mychangshu.com/folder.asp?id=48&Folder_name=工控源码
您把1,2,3,下载下来研究研究吧.
 
老大,ICDrawbegin
函数是vfw.h里的函数.
 
大概应该是这样吧:
>1,pPalette=this->GetDC()->GetCurrentPalette();
>3,,(HPALETTE)pPalette->GetSafeHandle(),
Self.GetPalette
>2,this->GetDC()->GetSafeHdc(),
Self.Canvas.Handle
>4,this->GetSafeHwnd(),
Self.Handle
 
xianjun:
这个是基于摄像采集卡视频传送的.
 
vc我不会啊,找我也没用,不知道那些类是干什么用的
 

1:
var
hPalette: THandle;
begin
hPalette := GetCurrentObject(GetDC(Handle), OBJ_PAL);
...
end;
2:
var
hHandle: THandle;
begin
hHandle := GetDC(Handle);
...
end;

3: 和1一样的处理
GetCurrentObject(GetDC(Handle), OBJ_PAL);
4:
就是Self.Handle
注意: 以上的Handle都是TForm子类里面的Handle,即Self.Handle
MFC对其类的封装的很简单,以上的基本是宏来的,嘻嘻
 
更正:
1、应该是你在显示用的Image.Picture.Graphic.Palette
Self.GetPalette返回是空,因为Form自身没有Palette。
 
http://www.delphibbs.com/delphibbs/dispq.asp?lid=1096435
这里还有分,xianjun 和copy_paste 你俩谁要?
 
解决了? 这么快就分脏 [:)]
 
没解决,调试时再问你们。[:D][:D]
 
后退
顶部