Оригинальный DVD-ROM: eXeL@B DVD !
eXeL@B ВИДЕОКУРС !

ВИДЕОКУРС ВЗЛОМ
выпущен 2 августа!


УЗНАТЬ БОЛЬШЕ >>
Домой | Статьи | RAR-cтатьи | FAQ | Форум | Скачать | Видеокурс
Новичку | Ссылки | Программирование | Интервью | Архив | Связь

ПРОГРАММИРОВАНИЕ НА C и С++



Возможности языков семейства Си по истине безграничны, однако, в этой свободе кроются и недостатки: всегда нужно программисту держать ухо востро и контроллировать "переполнение буфера", чтобы потом программа не вылетала в "синий экран" на массе разнообразных версий Windows и железа у пользователей. Те же крэкеры и реверсеры специально ищут в коде программ на Си уязвимости, куда можно подсадить любой вирусный код, об этом более подробно автор рассказывал в своём видеокурсе здесь. Я там многое узнал и теперь мой код стал значительно более безопасный.

Как получить текст из List Control

Вопрос:
Как скопировать все данные List Control (в данном случае все они CStrings) в clipboard? В моём приложении необходимо, чтобы все данные из List Control можно было скопировать в clipboard, чтобы потом пользователь мог вставить их куда-нибудь ещё.

Ответ:
Следующий код делает то, что нужно:


 	CString clipboard_data ;
 	int		rows ;
 	int		columns ;
 	CString	item ;
 
 	rows = m_ListControl.GetItemCount() ;
 	columns = m_ListControl.GetHeaderCtrl()->GetItemCount() ;
 
 	for (int j = 0 ; j < rows ; j++)
 		{
 		for (k = 0 ; k < columns ; k++)
 			{
 			if (k > 0)
 				clipboard_data += "\t" ; // табуляция
 			item = m_ListControl.GetItemText(j, k) ;
 			clipboard_data += item ;
 			}
 		clipboard_data += "\r\n" ; // конец строки
 		}
 
 
 	// Теперь данные можно скопировать в буфер обмена
 	if (OpenClipboard())
 		{
 		HGLOBAL		handle ;
 		char		*pntr ;
 
 		handle = ::GlobalAlloc(GHND, clipboard_data.GetLength() + 1) ;
 		pntr = (char *)::GlobalLock(handle) ;
 		strcpy(pntr, clipboard_data) ;
 		::GlobalUnlock(handle) ;
 		EmptyClipboard() ;
 		SetClipboardData(CF_TEXT, handle);
 		CloseClipboard();
 		}
 




<< ВЕРНУТЬСЯ В ПОДРАЗДЕЛ

<< ВЕРНУТЬСЯ В ОГЛАВЛЕНИЕ




Материалы находятся на сайте https://exelab.ru/pro/



Оригинальный DVD-ROM: eXeL@B DVD !


Вы находитесь на EXELAB.rU
Проект ReactOS