1. 要被拖曳的影像之屬性設定:
DragKind 設定成 dkDrag
DragMode 設定成 dmAutomatic
2. 在 Form 的兩個事件 onDragDrop 與 onDragOver 上的撰寫程式:
onDragDrop 事件:
TImage *buf = (TImage *) Source;
buf->Left = X;
buf->Top = Y;
onDragOver 事件:
Accept = true;
Thursday, December 25, 2008
Thursday, May 29, 2008
VFW: 視訊資料表頭結構
在 vfw.h 中第 3148 行起, 定義了視訊資料表頭結構(video data block header), 如下:
/* video data block header */
typedef struct videohdr_tag {
LPBYTE lpData; /* pointer to locked data buffer */
DWORD dwBufferLength; /* Length of data buffer */
DWORD dwBytesUsed; /* Bytes actually used */
DWORD dwTimeCaptured; /* Milliseconds from start of stream */
DWORD_PTR dwUser; /* for client's use */
DWORD dwFlags; /* assorted flags (see defines) */
DWORD_PTR dwReserved[4]; /* reserved for driver */
} VIDEOHDR, NEAR *PVIDEOHDR, FAR *LPVIDEOHDR;
使用 typedef 的宣告方式, 將 videohdr_tag 這個新的資料形態取了三個別名, 分別是 VIDEOHDR, NEAR *PVIDEOHDR 與 FAR *LPVIDEOHDR。
lpData 紀錄視訊資料緩衝區的位址, 透過此資料成員便可以直接存取視訊影像資料。
dwBufferLength 紀錄 lpData 所指向的視訊資料緩衝區的容量大小。
dwByteUsed 紀錄視訊資料緩衝區已經被使用了多少位元組。
dwTimeCaptured 紀錄影音串流擷取已使用的時間(毫秒 ms)。
dwUser 紀錄視訊擷取視窗關聯的使用者自訂資料。
dwFlags 紀錄視訊資料表頭旗標, 其定義就是在 vfw.h 中, 第 3158 行後所定義的, 如下:
/* dwFlags field of VIDEOHDR */
#define VHDR_DONE 0x00000001 /* Done bit */
#define VHDR_PREPARED 0x00000002
/* Set if this header has been prepared */
#define VHDR_INQUEUE 0x00000004 /* Reserved for driver */
#define VHDR_KEYFRAME 0x00000008 /* Key Frame */
#define VHDR_VALID 0x0000000F /* valid flags */ /* ;Internal */
/* video data block header */
typedef struct videohdr_tag {
LPBYTE lpData; /* pointer to locked data buffer */
DWORD dwBufferLength; /* Length of data buffer */
DWORD dwBytesUsed; /* Bytes actually used */
DWORD dwTimeCaptured; /* Milliseconds from start of stream */
DWORD_PTR dwUser; /* for client's use */
DWORD dwFlags; /* assorted flags (see defines) */
DWORD_PTR dwReserved[4]; /* reserved for driver */
} VIDEOHDR, NEAR *PVIDEOHDR, FAR *LPVIDEOHDR;
使用 typedef 的宣告方式, 將 videohdr_tag 這個新的資料形態取了三個別名, 分別是 VIDEOHDR, NEAR *PVIDEOHDR 與 FAR *LPVIDEOHDR。
lpData 紀錄視訊資料緩衝區的位址, 透過此資料成員便可以直接存取視訊影像資料。
dwBufferLength 紀錄 lpData 所指向的視訊資料緩衝區的容量大小。
dwByteUsed 紀錄視訊資料緩衝區已經被使用了多少位元組。
dwTimeCaptured 紀錄影音串流擷取已使用的時間(毫秒 ms)。
dwUser 紀錄視訊擷取視窗關聯的使用者自訂資料。
dwFlags 紀錄視訊資料表頭旗標, 其定義就是在 vfw.h 中, 第 3158 行後所定義的, 如下:
/* dwFlags field of VIDEOHDR */
#define VHDR_DONE 0x00000001 /* Done bit */
#define VHDR_PREPARED 0x00000002
/* Set if this header has been prepared */
#define VHDR_INQUEUE 0x00000004 /* Reserved for driver */
#define VHDR_KEYFRAME 0x00000008 /* Key Frame */
#define VHDR_VALID 0x0000000F /* valid flags */ /* ;Internal */
Subscribe to:
Posts (Atom)