HOME FORUMS MEMBERS RECENT POSTS LOG IN  
× Авторизация
Имя пользователя:
Пароль:
Нет аккаунта? Регистрация
Баннер 1   Баннер 2
НОВЫЕ ТОРГОВАЯ НОВОСТИ ЧАТ
loading...
Скрыть
Вернуться   ANTICHAT > ПРОГРАММИРОВАНИЕ > С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

CSocket и RichEdit в MFC
  #1  
Старый 30.10.2006, 02:24
LordNet
Познающий
Регистрация: 07.02.2006
Сообщений: 33
С нами: 10661349

Репутация: 24
Question CSocket и RichEdit в MFC

Как мне по сокету (CSocket) передать и принять все стили текста (шрифт,цвет и т.д.) c текстом из CRichEditCtrl?
Желательно показать примерчик.
Заранее спасибо!
 
Ответить с цитированием

  #2  
Старый 30.10.2006, 16:38
sn0w
Статус пользователя:
Регистрация: 26.07.2005
Сообщений: 569
С нами: 10943066

Репутация: 1236


По умолчанию

тк CSocket это не что иное как ооп-интерпретация стандартных виндовых сокетов, то тут в принципе все также как и в апи, просто нужно отправить буфер с основными характеристиками. например можно сделать структуру-описатель текста которая будет засылаться перед несущей строкой или после нее (сам решишь).

typedef struct _FONTDESCR{
// "магический" идентификатор
BYTE n_font_magic = 0x00;
// далее характеристики
char s_font_name[128];
int n_font_size;
int n_color;
int n_mode; // bold, italic, etc
//... + какие угодно параметры
}FONTDESCR;

магика нужна при приеме пакета, те если первый байт пакета будет равен 0 (строки наоборот завершаются нулем) то мы будем однозначно знать что это пакет не строка, а управляющий стиль.

char s_buff[4096];
int rc;
...
rc = recv( s, s_buff, sizeof(s_buff), 0 );
if(rc!=SOCKET_ERROR ){
if(s_buff[0]==0){
FONTDESCR *pDescr = (FONTDESCR*)&s_buff[0];
ProcessRichTextFormat(pDescr); // установка формата на строку
}else{
AddTextToRichEdit(s_buff); // просто добавление текста
}
}
__________________


snow white world wide
 
Ответить с цитированием
Ответ



Предыдущая тема Следующая тема
Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
smtp на MFC LordNet С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby 2 15.05.2006 21:43



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT ™ © 2001- Antichat Kft.