- MM_HIMETRIC qui định đơn vị đo
Chúng ta cần chuyển một hình tròn được mô tả bởi cấu trúc CIRCLEvào Clipboard
[3] … - Chuyển dữ liệu … – DL với định dạng riêng
Ví dụ: (tt)
Tạo một con trỏ CIRCLE *pDatatrỏ tới một đối tượng hình tròn cụ thể Đăng ký định dạng riêng cho cấu trúc hình tròn này
UINT nID =
RegisterClipboardFormat(_T(“CircleFormat”));
Lấy khối bộ nhớ toàn cục hGlobal đủ lưu dữ liệu, sau đó chép tất cả dữ liệu cần thiết định nghĩa hình tròn vào khối nhớ này
// Cấp phát khối bộ nhớ đủ lưu cấu trúc hình tròn HGLOBAL hGlobal =
GlobalAlloc(GHND,sizeof(CIRCLE)); // Khoá khối để lấy địa chỉ khối
CIRCLE *pGlobal = (CIRCLE*) GlobalLock(hGlobal); // Chép dữ liệu định nghĩa đường tròn vào khối nhớ
CopyMemory(pGlobal, pData, sizeof(CIRCLE)); // Bỏ khoá khối
13/06/2003
C4W - Clipboard - Nguyen Tri Tuan - DH.KHTN Tp.HCM 55
[3] … - Chuyển dữ liệu … – DL với định dạng riêng Ví dụ: (tt)
Thực hiện thao tác chuyển dữ liệu vào Clipboard:
// Mở và làm rỗng Clipboard OpenClipboard(); EmptyClipboard(); // Chuyển dữ liệu với định dạng nID // vào Clipboard SetClipboardData(nID, hGlobal); // Đóng Clipboard CloseClipboard(); [3] … - Chuyển dữ liệu … – DL với định dạng riêng Thêm vào các định dạng khác: Các ứng dụng sử dụng định dạng riêng thường sử dụng thêm một số định dạng chuẩn khác để đặt dữ liệu vào Clipboard. Điều này tạo cơ hội cho các ứng dụng chuẩn thông thường có thể
lấy được nội dung dữ liệu
Ví dụ: Khi được copy, một bảng tính của Excel sẽđược lưu với hơn 30 định dạng, nhờ đó chúng ta có thể sử dụng MS Paint và MS
Notepad để nhận dữ liệu. Tuy nhiên, chỉ có một
định dạng là thực sự thể hiện đầy đủ định dạng gốc của một bảng tính Excel
13/06/2003
C4W - Clipboard - Nguyen Tri Tuan - DH.KHTN Tp.HCM 57
[3] … - Chuyển dữ liệu … – DL với định dạng riêng