[KERNEL32]
[reactos.git] / base / applications / network / telnet / src / tnclip.cpp
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