- MM_HIMETRIC qui định đơn vị đo
Inpu t: hBitmap là handle của bitmap cần chuyển vào Clipboard
bitmap
Input : hBitmap là handle của bitmap cần chuyển vào Clipboard chuyển vào Clipboard
13/06/2003
C4W - Clipboard - Nguyen Tri Tuan - DH.KHTN Tp.HCM 47
[3] … - Chuyển dữ liệu … – DL với định dạng chuẩn VD.2 … // Mở Clipboard if (OpenClipboard()) { // Làm rỗng Clipboard EmptyClipboard();
// Chuyển dữ liệu vào Clipboard với định // dạng chuẩn CF_BITMAP SetClipboardData(CF_BITMAP, hBitmap); // Đóng Clipboard CloseClipboard(); } [3] … - Chuyển dữ liệu … – DL với định dạng chuẩn VD.3: Chuyển dữ liệu với định dạng CF_HDROP
Là phương pháp mà Windows 98 và Windows 2000 sử dụng để thực hiện các thao tác Cut, Copy và Paste trên các tập tin hay thư mục
HDROPlà handle của vùng nhớ toàn cục. Vùng nhớ này chứa một cấu trúc DROPFILES và theo sau là một danh sách các tên file kết thúc bằng 2 ký tự NULL
Cấu trúc DROPFILES:
typedef struct _DROPFILES {
DWORD pFiles; // Offset of file list POINT pt;
BOOL fNC;
13/06/2003
C4W - Clipboard - Nguyen Tri Tuan - DH.KHTN Tp.HCM 49
[3] … - Chuyển dữ liệu … – DL với định dạng chuẩn
VD.3:…
// Danh sách file names TCHAR szFiles [3][32] = { _T ( “C:\\TaiLieu.doc” ) , _T ( “C:\\TaiLieu.zip” ) , _T ( “” ) } ; // Mở Clipboard if (OpenClipboard()) { // Làm rỗng Clipboard EmptyClipboard(); // Định vị vùng nhớ đủ kích thước int nSize=sizeof(DROPFILES)+sizeof(szFiles); HANDLE hData = GlobalAlloc(GHND , nSize);
[3] … - Chuyển dữ liệu … – DL với định dạng chuẩn
VD.3:…
// Khởi tạo dữ liệu cho vùng nhớ
LPDROPFILES pDropFiles = (LPDROPFILES)
GlobalLock (hData); pDropFiles Æ pFiles = sizeof(DROPFILES); pDropFiles Æ fWide = FALSE ; // Ansi text
LPBYTE pData = (LPBYTE) pDropFiles +
sizeof(DROPFILES); CopyMemory(pData, szFiles, sizeof(szFiles)); GlobalUnlock(hData);
// Chuyển dliệu định dạng CF_HDROP vào Clipboard SetClipboardData(CF_HDROP, hData);
// Đóng Clipboard CloseClipboard();
13/06/2003
C4W - Clipboard - Nguyen Tri Tuan - DH.KHTN Tp.HCM 51
[3] … - Chuyển dữ liệu … – DL với định dạng riêng Phương pháp Thêm vào các định dạng khác [3] … - Chuyển dữ liệu … – DL với định dạng riêng Phương pháp: Để sử dụng định dạng riêng , trước hết cần xác
định định danh cho định dạng riêng bằng cách
Đăng ký định dạng riêng mới, hoặc …
… Sử dụng một số nguyên từCF_PRIVATEFIRST đến CF_PRIVATELASTlàm định danh cho định dạng
…sau đó chuyển dữ liệu với định dạng này vào Clipboard theo cách tương tự như định dạng chuẩn
13/06/2003
C4W - Clipboard - Nguyen Tri Tuan - DH.KHTN Tp.HCM 53
[3] … - Chuyển dữ liệu … – DL với định dạng riêng
Ví dụ: