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