Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.07.16;
Скачать: CL | DM;

Вниз

RichEdit v2+   Найти похожие ветки 

 
Yuri Btr ©   (2006-04-07 17:44) [0]

Добрый день, подскажите кто может:
я пытаюсь в своей программе использовать RichEdit, но так как компонент TRichEdit с закладки Win32 использует библиотеку первой версии (а мне нужно более поздние), я создаю динамически окно:
  hRichEditLib:=LoadLibraryEx(PChar(RichEditModuleName),0,0);

hRichEdit:=CreateWindow(PChar(RichEditClassName),
                        PChar("RE1"),
                        WS_CHILD or WS_VISIBLE or WS_BORDER or ES_MULTILINE or WS_VSCROLL or ES_NOHIDESEL or ES_DISABLENOSCROLL,
                        0,
                        P1.Height,
                        Self.ClientWidth,
                        Self.ClientHeight,
                        Self.Handle,
                        0,
                        0,
                        nil);


Причём
RichEditModuleName="MSFTEDIT.DLL"
RichEditClassName="RICHEDIT_CLASS" согласно MSDN,
но библиотека загружается, а окно не создаётся - GetLastError возвращает 1407 - "Class not found"
Почему бы это ?


 
Fay ©   (2006-04-07 17:58) [1]

А перекрыть CreateParams не помогает?


 
Yuri Btr ©   (2006-04-07 18:03) [2]

to Fay ©   (07.04.06 17:58) [1]
В смысле у TRichEdit перекрыть ???, то там надо перерыть весь код, я уже смотрел ...


 
Yuri Btr ©   (2006-04-07 18:13) [3]

Тем более что перекрывать надо по идее TCustomRichEdit.CreateParams, т.е. писать наследника TCustomRichEdit - фактически создавая дубликат TRichEdit"у


 
Eraser ©   (2006-04-07 18:34) [4]


> Yuri Btr ©   (07.04.06 18:13) [3]

см. TjvRichEdit из JEDI VCL


 
Yuri Btr ©   (2006-04-07 18:36) [5]

to Eraser ©   (07.04.06 18:34) [4]
Погляжу, ОК


 
Fay ©   (2006-04-07 19:18) [6]

2 Yuri Btr ©   (07.04.06 18:03) [2]
> там надо перерыть весь код
Почему это весь?


 
Yuri Btr ©   (2006-04-07 22:10) [7]

to Fay ©   (07.04.06 19:18) [6]
Дело в том, что я не уверен, что можно через наследника TRichEdit перекрыть CreateParams у его предка TCustomRichEdit, я задал этот вопрос здесь -  http://delphimaster.net/view/5-1144420112/ , но уважаемый мною MBo пока не ответил

Если вы знаете как это сделать, прошу вас написать
Но всё равно вопрос ветки останется открытым, почему класс RICHEDIT_CLASS не доступен ???


 
Fay ©   (2006-04-08 04:03) [8]

#define MSFTEDIT_CLASS  L"RICHEDIT50W"
// NOTE:  MSFTEDIT.DLL only registers MSFTEDIT_CLASS.  If an application wants
// to use the following Richedit classes, it needs to load the riched20.dll.
// Otherwise, CreateWindow with RICHEDIT_CLASS would fail.
// This also applies to any dialog that uses RICHEDIT_CLASS,

// RichEdit 2.0 Window Class
// On Windows CE, avoid possible conflicts on Win95
#define CERICHEDIT_CLASSA "RichEditCEA"
#define CERICHEDIT_CLASSW L"RichEditCEW"

#define RICHEDIT_CLASSA  "RichEdit20A"
#define RICHEDIT_CLASS10A "RICHEDIT"   // Richedit 1.0

#ifndef MACPORT
#define RICHEDIT_CLASSW  L"RichEdit20W"
#else //----------------------MACPORT
#define RICHEDIT_CLASSW  TEXT("RichEdit20W") // MACPORT change
#endif // MACPORT  

#if (_RICHEDIT_VER >= 0x0200 )
#ifdef UNICODE
#define RICHEDIT_CLASS  RICHEDIT_CLASSW
#else
#define RICHEDIT_CLASS  RICHEDIT_CLASSA
#endif // UNICODE
#else
#define RICHEDIT_CLASS  RICHEDIT_CLASS10A
#endif // _RICHEDIT_VER >= 0x0200



Страницы: 1 вся ветка

Текущий архив: 2006.07.16;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.031 c
2-1151413170
Vovanchik
2006-06-27 16:59
2006.07.16
Работа с микрофоном (передача данных по сети)


2-1151327547
Id
2006-06-26 17:12
2006.07.16
Смена раскладки


5-1135259011
sco
2005-12-22 16:43
2006.07.16
Package unit IconButton cannot appear in contains or uses claus


9-1131902146
XCoder
2005-11-13 20:15
2006.07.16
После установки WindowsXP SP2 OpenGL стала тормозит


11-1129561744
Vladimir Kladov
2005-10-17 19:09
2006.07.16
Версия 2.16