Cách hiện tại để thực hiện việc này là xử lý WM_POINTERnnn thông báo. Lưu ý điều này là dành cho Win 8 trở lên.
Lưu ý bạn sẽ nhận được các thông điệp này để chạm VÀ bút, vì vậy bạn cần phải biết pointerType để kiểm tra bút. WPARAM nhận được bởi WNDPROC cho WM_POINTERnnnn msg như WM_POINTERUPDATE và các thông điệp khác chứa id con trỏ mà bạn sẽ cần để yêu cầu thêm thông tin. Theo kinh nghiệm tôi thấy rằng WM_POINTERUPDATE kết quả trong thông tin có chứa dữ liệu áp lực trong khi nếu cờ con trỏ chỉ xuống/lên không có thông tin áp lực.
const WORD wid = GET_POINTERID_WPARAM(wParam);
POINTER_INFO piTemp = {NULL};
GetPointerInfo(wid, &piTemp);
if (piTemp.pointerType == PT_PEN
{
UINT32 entries = 0;
UINT32 pointers = 0;
GetPointerFramePenInfoHistory(wid, &entries, &pointers, NULL); // how many
// TODO, allocate space needed for the info, process the data in a loop to retrieve it, test pointerInfo.pointerFlags for down/up/update.
}
Khi bạn biết bạn đang xử lý bút, bạn có thể lấy thông tin áp lực từ cấu trúc POINTER_PEN_INFO.
Điều này tương tự như xử lý cảm ứng mặc dù đối với liên lạc bạn muốn nhận dạng cử chỉ và quán tính. Có một mẫu của Microsoft minh họa bằng cách sử dụng các hàm này.
Đó là một phần của một cuộc nói chuyện tích xây dựng: https://channel9.msdn.com/Events/Build/2013/4-022
FYI, vì tôi thường nhấn câu trả lời này trong tìm kiếm của tôi về wintab: API wintab vẫn thường được sử dụng cho các tương tác bảng cọ vẽ và dường như là tiêu chuẩn de facto, ít nhất cho đến khi nhiều ứng dụng và nhà sản xuất máy tính bảng trang bị thêm hỗ trợ Microsoft Ink. Những người duy trì đặc điểm kỹ thuật hiện tại là Wacom, và họ đã nhận được kết thúc của [vụ kiện mà tôi cho rằng bạn đang đề cập đến] (http://caselaw.findlaw.com/us-federal-circuit/1114074.html). Trang web của họ chào đón các nhà sản xuất khác nói chuyện với họ về việc triển khai thông số kỹ thuật wintab bằng phần cứng của riêng họ. – user1201210
Chà, bốn năm sau! Tôi đã tìm thấy những gì bạn nói là đúng, mặc dù vụ kiện tôi đã đề cập đến là Wacom kiện ai đó vì đã cố gắng chuyển wintab vào giao diện riêng của họ. Điều đó đang được nói, NTrig đã viết một wrapper để cho phép API wintab, và bây giờ Dell XT2 cũ của tôi làm việc với photoshop et al. Tôi sẽ cập nhật câu trả lời này. – NateDSaint