Inpu t: hBitmap là handle của bitmap cần chuyển vào Clipboard

Một phần của tài liệu Bài giảng lập trình C trên Windows - các khái niệm cơ bản (Trang 137)

- 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 … (adsbygoogle = window.adsbygoogle || []).push({});

… 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ụ:

Một phần của tài liệu Bài giảng lập trình C trên Windows - các khái niệm cơ bản (Trang 137)