WWW.ИСХОДНИКИ.РУ cpp.sources.ru
java.sources.ru web.sources.ru soft.sources.ru
jdbc.sources.ru asp.sources.ru api.sources.ru

  Форум на исходниках
  C / C++ / Visual C++
  ClistBox с OWNERDRAW ошибка при GetCurSel()

СПРОСИТЬ  ОТВЕТИТЬ
профайл | регистрация | faq

Автор Тема:   ClistBox с OWNERDRAW ошибка при GetCurSel()
MADbI4 опубликован 04-05-2001 14:38 MSK   Click Here to See the Profile for MADbI4   Click Here to Email MADbI4  
Вобщем трабла такая, есть список CListBox
с установленым стилем OWNERDRAW тоесть за рисование элементов отвечает програмист.
Все сделано как положено, переопределен производный класс ,в нем функции:
DrawItem, CompareItem, MeasureItem.
Все работало и рисовало как надо пока не начал работать с данными списка, при вызове функции GetCurSel в обработчике LBN_SELCHANGE
вылетает ASSERT из MFCшных сырцов и говорит что HWND == NULL
_AFXWIN_INLINE int CListBox::GetCurSel()const
{ ASSERT(::IsWindow(m_hWnd)); ...
-----------------------^=0xCCCCCCCC
Проверил значение m_hWnd в функ обработке OnSelChange m_hWnd указывает что с окном все ок.
Может кто сталкивался, с этим помогите, и сорри за длиное описание.
OlegN опубликован 04-05-2001 14:59 MSK     Click Here to See the Profile for OlegN  Click Here to Email OlegN     
Длинное описание, это хорошо,
чаще бывает наоборот.
Если обработке OnSelChange m_hWnd истинный,
то попробуй вызвать функцию API напрямую :
вместо int CurSel = GetCurSel() вызови
int CurSel = ::SendMessage(m_hWnd, LB_GETCURSEL, 0, 0);
Проверь не меняется ли this внутри функции GetCurSel(). Если да, то где-то чего-то ты не туда пишешь и понятно почему m_hWnd равно 0.

СПРОСИТЬ  ОТВЕТИТЬ
Перейти:


E-mail | WWW.ИСХОДНИКИ.RU

Powered by: Ultimate Bulletin Board, Freeware Version 5.10a
Purchase our Licensed Version- which adds many more features!
© Infopop Corporation (formerly Madrona Park, Inc.), 1998 - 2000.