剪贴簿(十三)

2010-12-30 21:14:24 · 作者: · 浏览: 20193
ARDABLE
BEGIN
POPUP "&Edit"
BEGIN
MENUITEM "Cu&t\tCtrl+X", IDM_EDIT_CUT
MENUITEM "&Copy\tCtrl+C", IDM_EDIT_COPY
MENUITEM "&Paste\tCtrl+V", IDM_EDIT_PASTE
MENUITEM "De&lete\tDel", IDM_EDIT_CLEAR
MENUITEM SEPARATOR
MENUITEM "&Reset", IDM_EDIT_RESET
END
END

/////////////////////////////////////////////////////////////////////////////
// Accelerator
CLIPTEXT ACCELERATORS DISCARDABLE
BEGIN
"C", IDM_EDIT_COPY, VIRTKEY, CONTROL, NOINVERT
"V", IDM_EDIT_PASTE, VIRTKEY, CONTROL, NOINVERT
VK_DELETE, IDM_EDIT_CLEAR, VIRTKEY, NOINVERT
"X", IDM_EDIT_CUT, VIRTKEY, CONTROL, NOINVERT
END
 RESOURCE.H(摘录)
// Microsoft Developer Studio generated include file.
// Used by ClipText.rc

#define IDM_EDIT_CUT 40001
#define IDM_EDIT_COPY 40002
#define IDM_EDIT_PASTE 40003
#define IDM_EDIT_CLEAR 40004
#define IDM_EDIT_RESET 40005

这是在Windows NT下执行Unicode版和ANSI版程式的概念,而且可以看到,剪贴簿是如何在两种字元集之间转换的。注意CLIPTEXT.C顶部的#ifdef叙述。如果定义了UNICODE识别字,那么CF_TCHAR(我命名的一种常用的剪贴簿格式)就等於CF_UNICODETEXT;否则,它就等於CF_TEXT。程式後面呼叫的IsClipboardFormatAvailable、GetClipboardDat