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 <string.h> 32 #include "tnclip.h" 33 34 Tnclip::Tnclip(HWND W, TNetwork &RefNetwork): Network(RefNetwork) { 35 Window = W; 36 } 37 38 Tnclip::~Tnclip() { 39 } 40 41 void Tnclip::Copy(HGLOBAL clipboard_data) { 42 if(!OpenClipboard(Window)) return; 43 if(!EmptyClipboard()) return; 44 45 SetClipboardData(CF_TEXT, clipboard_data); 46 CloseClipboard(); 47 } 48 49 void Tnclip::Paste() { 50 if(!OpenClipboard(Window)) return; 51 52 HANDLE clipboard_data = GetClipboardData(CF_TEXT); 53 LPVOID clipboard_ptr = GlobalLock(clipboard_data); 54 DWORD size = strlen((const char *)clipboard_data); 55 Network.WriteString((const char *)clipboard_ptr, size); 56 GlobalUnlock(clipboard_data); 57 58 CloseClipboard(); 59 } 60 61