Если выложу кусочек - глянешь? Мне кажется я почти всё исправил,
но один момент никак не даётся... прям в ступор ввёл, за что я его, правда,
год назад забросил.

Moderator: Shaos
я уже сказал, где я взял пример,CodeMax is a powerful code edit control which supports the following features:
* DLL and ActiveX versions
* Color Syntax Highlighting
* Custom Keystroke Assignments
* Over 120 Separate Edit Commands
* Drag-and-Drop Manipulation
* Support for C++, Java, SQL, Basic, Pascal, and Custom Languages
* Multiple Splitter Views
* Unlimited Undo/Redo
* Persistent Keystroke Macros
* Auto-Indentation
* Bookmarks
* IntelliMouse Support
* Column Selection
* MFC Support
Code: Select all
Далее, Вам следует объявить образец объекта CodeMaxLibrary и инициализировать его.
BOOL CCodeFile::RegisterClass( HINSTANCE hInstance )
{
// register the CodeMax edit control
CMRegisterControl();
WNDCLASS wndclass;
wndclass.style = 0;
wndclass.lpfnWndProc = WndProc;
wndclass.cbClsExtra = 0;
wndclass.cbWndExtra = 0;
wndclass.hInstance = hInstance;
wndclass.hIcon = NULL;
wndclass.hCursor = LoadCursor( NULL, IDC_ARROW );
wndclass.hbrBackground = NULL;
wndclass.lpszMenuName = NULL;
wndclass.lpszClassName = CODEFILEWNDCLASS; // "CodeFile"
return ::RegisterClass( &wndclass );
}
CCodeFile *pCode = new CCodeFile( this );
//--------------------
LRESULT CCodeFile::OnCreate( HWND hWnd, WPARAM wParam, LPARAM lParam )
{
ASSERT( lParam );
CREATESTRUCT *pcs = ( CREATESTRUCT * )lParam;
ASSERT( pcs->lpCreateParams );
MDICREATESTRUCT *pmcs = ( MDICREATESTRUCT * ) pcs->lpCreateParams;
// associate the CCodeFile object with the window
CCodeFile *pCode = ( CCodeFile * ) pmcs->lParam;
SetWindowLong( hWnd, GWL_USERDATA, ( DWORD ) pCode );
pCode->Initialize( hWnd );
Code: Select all
CCodeFile *pCode = new CCodeFile( this );
// associate the CCodeFile object with the window
CCodeFile *pCode = ( CCodeFile * ) pmcs->lParam;
а вообще это похоже класс - значит в конструктореShaos wrote:я думаю, что компилятору не нравится висящее в воздухе new:
CCodeFile *pCode = new CCodeFile( this );
надо заменить на:
CCodeFile *pCode = NULL;
и где-то в теле инициализирующей или создающей функции:
pCode = new CCodeFile( this );
Глубако ты взглянул...Shaos wrote:вообще это по джавовски - члены класса динамически создавать прямо в теле класса - большинство компиляторов это не поймут, а видимо студия мелкомягкая понимает - видимо специально сделали для джавистов, которые случайно на с++ кодят
http://lurkmore.ru/CТакая лютая, бешеная ненависть к фундаментальным понятиям языка не могла пройти незамеченной всякими Майкрософтами. Венцом мелкософтовской ненависти к тру Си является появление С#, который на самом деле собственная версия Жабы.