как поймать TVN_BEGINLABELEDIT в CTreeView
От: trashbin  
Дата: 17.02.05 11:58
Оценка:
доброе время суток.

есть SDK-приложение со сплиттером.
левая часть — CTreeView, правая — CView
создавалось так:
========================
CRect cr;
GetClientRect( &cr);

if ( !m_mainSplitter.CreateStatic( this, 1, 2 ) )
{
MessageBox( "Error setting up splitter frames!",
"Init Error!", MB_OK | MB_ICONERROR );
return FALSE;
}

if ( !m_mainSplitter.CreateView(0, 0,
RUNTIME_CLASS(CTreeView),
CSize(cr.Width()/4, cr.Height()), pContext ) )
{
MessageBox( "Error setting up splitter frames!",
"Init Error!", MB_OK | MB_ICONERROR );
return FALSE;
}

if ( !m_mainSplitter.CreateView( 0, 1,
RUNTIME_CLASS(CICEView),
CSize(3*cr.Width()/4, cr.Height()), pContext ) )
{
MessageBox( "Error setting up splitter frames!",
"Init Error!", MB_OK | MB_ICONERROR );
return FALSE;
}
========================

как поймать TVN_BEGINLABELEDIT в MainFrame при начале редактирования элемента в CTreeView ????

заранее пасиб.
Re: как поймать TVN_BEGINLABELEDIT в CTreeView
От: Игорь Вартанов Ниоткуда  
Дата: 17.02.05 13:02
Оценка:
Здравствуйте, trashbin, Вы писали:

T>есть SDK-приложение со сплиттером.

T>левая часть — CTreeView, правая — CView

T>как поймать TVN_BEGINLABELEDIT в MainFrame при начале редактирования элемента в CTreeView ????


Нотификации посылаются родителю, следовательно их будет получать сплиттер. Дальше думай сам — унаследоваться от класса сплиттера и обрабатывать нотификацию в нем или пересылать ее родителю сплиттера, то бишь мэйнфрейму.
---
С уважением,
Игорь
Re[2]: как поймать TVN_BEGINLABELEDIT в CTreeView
От: Аноним  
Дата: 17.02.05 13:38
Оценка:
Здравствуйте, Игорь Вартанов, Вы писали:

ИВ>Нотификации посылаются родителю, следовательно их будет получать сплиттер. Дальше думай сам — унаследоваться от класса сплиттера и обрабатывать нотификацию в нем или пересылать ее родителю сплиттера, то бишь мэйнфрейму.


пасиб. разобрался. отловил в мэйнфрейме PreTranslateMessage WM_LBUTTONDBLCLK, определил где кликали и можно ли редактировать. все пашет.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.