Reactos
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
33Tnclip::Tnclip(HWND W, TNetwork &RefNetwork): Network(RefNetwork) {
34 Window = W;
35}
36
37Tnclip::~Tnclip() {
38}
39
40void 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
48void 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