多媒体开发中遇到难题,帮忙转换如下的C语句,如何把Tpoint类型转换为dword ,路过的也看看,特请3cs和silicon帮忙 (100分)

  • 主题发起人 主题发起人 microming
  • 开始时间 开始时间
M

microming

Unregistered / Unconfirmed
GUEST, unregistred user!
如何把Tpoint转换为dword

FMPPlay_OnMove( HWND hWnd, int iX, int iY )
{
POINT Point;
memset( &Point, 0, sizeof( POINT ) );
ClientToScreen( hWnd, &Point );
FMPSet( ghMPEGStream, FMPI_VID_DEST_POS, MAKEDWORD( Point.x, Point.y ) );
}

FMPPlay_OnSize( HWND hWnd, UINT uiState, int iCX, int iCY )
{
RECT Rect;
memset( &Rect, 0, sizeof( RECT ) );
GetClientRect( hWnd, &Rect );
FMPSet( ghMPEGStream, FMPI_VID_DEST_SIZE, MAKEDWORD( Rect.right,Rect.bottom ) );
}
 
你可以看silicon回答过的文章,很详细的,
神龙卡的delphi代码我有,但现在我在公司,没办法给你
 
谢谢wh_mimi
如果方便的话可否发到yxm@fun.21cn.com.
 
function MakeDWord(p:TPoint): DWord;
begin

Result := p.x or p.y shl 16;
end;
 
谢谢takashiki
我试过了,假设p.x=196,p.y=130,则makedword值为 8519876 与实际相差太远了。应该不是所需的结果。
请其他大虾帮帮小弟。。
 
转十六进制,搞错了谢谢takashiki
 
请takashiki看看
http://www.delphibbs.com/delphibbs/dispq.asp?lid=2090442
 
后退
顶部