1 ///////////////////////////////////////////////////////////////////////////////
2 //Telnet Win32 : an ANSI telnet client.
3 //Copyright (C) 1998  Paul Brannan
4 //Copyright (C) 1998  I.Ioannou
5 //Copyright (C) 1997  Brad Johnson
6 //
7 //This program is free software; you can redistribute it and/or
8 //modify it under the terms of the GNU General Public License
9 //as published by the Free Software Foundation; either version 2
10 //of the License, or (at your option) any later version.
11 //
12 //This program is distributed in the hope that it will be useful,
13 //but WITHOUT ANY WARRANTY; without even the implied warranty of
14 //MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15 //GNU General Public License for more details.
16 //
17 //You should have received a copy of the GNU General Public License
18 //along with this program; if not, write to the Free Software
19 //Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
20 //
21 //I.Ioannou
22 //roryt@hol.gr
23 //
24 ///////////////////////////////////////////////////////////////////////////
25 
26 // TnClip.cpp
27 // A simple class for handling clipboard functions
28 // Written by Paul Brannan <pbranna@clemson.edu>
29 // Last modified 7/12/98
30 
31 #include "precomp.h"
32 
33 Tnclip::Tnclip(HWND W, TNetwork &RefNetwork): Network(RefNetwork) {
34 	Window = W;
35 }
36 
37 Tnclip::~Tnclip() {
38 }
39 
40 void Tnclip::Copy(HGLOBAL clipboard_data) {
41 	if(!OpenClipboard(Window)) return;
42 	if(!EmptyClipboard()) return;
43 
44 	SetClipboardData(CF_TEXT, clipboard_data);
45 	CloseClipboard();
46 }
47 
48 void Tnclip::Paste() {
49 	if(!OpenClipboard(Window)) return;
50 
51 	HANDLE clipboard_data = GetClipboardData(CF_TEXT);
52 	LPVOID clipboard_ptr = GlobalLock(clipboard_data);
53 	DWORD size = strlen((const char *)clipboard_data);
54 	Network.WriteString((const char *)clipboard_ptr, size);
55 	GlobalUnlock(clipboard_data);
56 
57 	CloseClipboard();
58 }
59 
60