幸存一个窗体,其上有三个文本框,现要求将窗体以图片形式复制到剪贴板中,并且将此窗体上的三个文本框中的文字也复制到剪贴板中,两者都要同时存放在剪贴板中

现有一个窗体,其上有三个文本框,现要求将窗体以图片形式复制到剪贴板中,并且将此窗体上的三个文本框中的文字也复制到剪贴板中,两者都要同时存放在剪贴板中
现有一个窗体,其上有三个文本框,现要求将窗体以图片形式复制到剪贴板中,并且将此窗体上的三个文本框中的文字也复制到剪贴板中,两者都要同时存放在剪贴板中,以便于一块粘贴到某个地方。

------解决思路----------------------
Clipboard Functions
Following are the functions used with the clipboard. 

  
 
ChangeClipboardChain  
CloseClipboard  
CountClipboardFormats  
EmptyClipboard  
EnumClipboardFormats  
GetClipboardData  
GetClipboardFormatName  
GetClipboardOwner  
GetClipboardSequenceNumber  
GetClipboardViewer  
GetOpenClipboardWindow  
GetPriorityClipboardFormat  
IsClipboardFormatAvailable  
OpenClipboard  
RegisterClipboardFormat  
SetClipboardData  
SetClipboardViewer   


 
RegisterClipboardFormat
The RegisterClipboardFormat function registers a new clipboard format. This format can then be used as a valid clipboard format. 

UINT RegisterClipboardFormat(
  LPCTSTR lpszFormat   // address of name string
);
 
Parameters
lpszFormat 
Pointer to a null-terminated string that names the new format. 
Return Values
If the function succeeds, the return value identifies the registered clipboard format.

If the function fails, the return value is zero. To get extended error information, call GetLastError. 

Remarks
If a registered format with the specified name already exists, a new format is not registered and the return value identifies the existing format. This enables more than one application to copy and paste data using the same registered clipboard format. Note that the format name comparison is case-insensitive.

Registered clipboard formats are identified by values in the range 0xC000 through 0xFFFF. 

Windows CE: Windows CE supports only the Unicode version of RegisterClipboardFormat. 

QuickInfo
  Windows NT: Requires version 3.1 or later.
  Windows: Requires Windows 95 or later.
  Windows CE: Requires version 1.0 or later.
  Header: Declared in winuser.h.
  Import Library: Use user32.lib.
  Unicode: Implemented as Unicode and ANSI versions on Windows NT.

See Also
Clipboard Overview, Clipboard Functions, CountClipboardFormats, EnumClipboardFormats, GetClipboardFormatName 

 

------解决思路----------------------
调用RegisterClipboardFormat的例子代码一瞥:
MSDN98\SAMPLES\VC98\SDK\SDKTOOLS\IMAGEDIT\IMAGEDIT.C
MSDN98\SAMPLES\VC98\SDK\SDKTOOLS\WINNT\DLGEDIT\DLGEDIT.C
MSDN98\SAMPLES\VC98\SDK\WINUI\COMCTL\REITP\REITP.C
MSDN98\SAMPLES\VC98\SDK\WINUI\SHELL\DROPEXT\DROPEXT.C

Microsoft SDK\samples\winui\Controls\RichEdit\Reitp.c
Microsoft SDK\samples\winui\Shell\DropExt\DropExt.C
Microsoft SDK\samples\winui\Shell\DragImg\DragImg.Cpp
Microsoft SDK\samples\winui\Shell\SampView\ContMenu.Cpp
Microsoft SDK\samples\winui\Shell\SampView\DataObj.Cpp
Microsoft SDK\samples\winui\Shell\SampView\DropTgt.Cpp
Microsoft SDK\samples\winui\Shell\SampView\ShlView.Cpp