Главная страница
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.028 c
4-1144313939
Eraser
2006-04-06 12:58
2006.07.16
Fast User Switching и интерактивный сервис.


6-1142003887
viman
2006-03-10 18:18
2006.07.16
Winsock 2, Win98(WinME) и UDP, как отправить свой заголовок?


6-1134736695
SPACE!!
2005-12-16 15:38
2006.07.16
Клт.-Серв. приложение на WinSock с большим количеством клиентов.


3-1147618940
Express
2006-05-14 19:02
2006.07.16
Ошибка «Не удается найти строку для обновления», MySQL


1-1148994038
TSa
2006-05-30 17:00
2006.07.16
запись в ini файл с правами пользоваля