Форум: Форум C++Разное
Новые темы: 00
Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум C++

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Не получается слздать rich edit ((
 
 автор: Фитч   (07.05.2007 в 10:45)   письмо автору
 
 

Делаю так :

case WM_CREATE:
CreateWindowExA(0,RICHEDIT_CLASSA,"ddd",WS_CHILD | WS_VISIBLE | WS_BORDER,1,1,100,100,hWnd,(HMENU)1001,hInst,NULL);
break;

Но rich edit упорно не создается, хотя компиляция проходит даже без предупреждений.

InitCommonControls() выполнил, comctl32.lib подключил, проинклудил richedit.h И commctrl.h - ноль эффекта. От шаманства с RICHEDIT_CLASSA (RICHEDT_CLASSS и др.) - тоже. Подскажите, плз, что не так!

  Ответить  
 
 автор: oleg_alexeev   (07.05.2007 в 11:59)   письмо автору
 
   для: Фитч   (07.05.2007 в 10:45)
 

Для регистрации класса окна RICHEDIT_CLASS надо вызвать

LoadLibrary(TEXT("riched20.dll"));

  Ответить  
 
 автор: Фитч   (07.05.2007 в 12:05)   письмо автору
 
   для: oleg_alexeev   (07.05.2007 в 11:59)
 

Спасибо большое, все заработало!

  Ответить  
 
 автор: oleg_alexeev   (07.05.2007 в 13:53)   письмо автору
 
   для: Фитч   (07.05.2007 в 12:05)
 

Вот такой он коварный, этот Майкрософт :)
Я тоже спотыкался на этом.

  Ответить  
 
 автор: Фитч   (07.05.2007 в 14:48)   письмо автору
 
   для: oleg_alexeev   (07.05.2007 в 13:53)
 

Буду еще благодарен, если объясните "вдогонку":

fmtThis->cbSize = sizeof(fmtThis);
fmtThis->crTextColor = RGB(0,0,0);
fmtThis->dwMask = CFM_BOLD;
fmtThis->dwEffects = CFE_BOLD;
if(!SendMessage(hEdit,EM_SETCHARFORMAT,SCF_ALL,(LPARAM)fmtThis))
MessageBox(hWnd,"CHARFORMAT error","",0);

Не работает, а вроде делал по мсдн((

  Ответить  
 
 автор: oleg_alexeev   (07.05.2007 в 15:05)   письмо автору
 
   для: Фитч   (07.05.2007 в 14:48)
 

Ошибка, похоже, в строке

fmtThis->cbSize = sizeof(fmtThis);

Здесь fmtThis - это указатель, так что sizeof(fmtThis) даст 4, а надо sizeof(CHARFORMAT2)

Ещё, в dwMask, наверное, надо записать (CFM_BOLD | CFM_COLOR)

  Ответить  
 
 автор: Фитч   (07.05.2007 в 15:56)   письмо автору
 
   для: oleg_alexeev   (07.05.2007 в 15:05)
 

Еще раз большое спасибо!

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования