Контекстное меню над Headerом Listctrl при горизонтальной прокрутке

  • Автор темы v_klad
  • Дата начала
Статус
Закрыто для дальнейших ответов.
V

v_klad

#1
Контекстное меню над HEADERом ListCtrla у меня в общем "получилось" все входит и выходит, кроме одного- не могу отловить заголовки столбцов не вошедшие в область вывода списка (надеюсь правильно назвал),т.е. если список не помещается по горизонтали и появляется горизонтальная полоса прокрутки. При прокрутке на тех заголовках, которые "выползли" появляются снова теже менюшки, т.е. как я понял нумерация itemov заголовков не прибавляется. Если разворачиваешь окно- все нормально.
 
V

v_klad

#2
Прикрепляю маленький проект. Может так кто-нибудь ответит.
 

Вложения

S

sdriver

#3
А ты уверен, что у тебя отрабатывает OnContextMenu?
 
V

v_klad

#4
Конечно уверен. Эта проблема появилась когда менюшки были сделаны. В прикрепленном проектике
вылазят MessageBoxы!
 
V

v_klad

#5
Сюда люди то же не заходят :)
Вопрос решен! Помог ElcnU на форуме Исходники.RU. Огромный ему респект!
Код:
void CMyListCtrl::OnContextMenu(CWnd* pWnd, CPoint point)
{
HDITEM HDIt;
HDIt.mask= HDI_TEXT;
int NStolba=0;
CRect R(0,0,0,0);
int nScrollPos=GetScrollPos(SB_HORZ);
int nCount=GetHeaderCtrl()->GetItemCount();
for(NStolba; NStolba<nCount; NStolba++)
{
GetHeaderCtrl()->GetItemRect(NStolba,&R);
R.left-=nScrollPos;
R.right-=nScrollPos;
ClientToScreen(&R);
if(R.PtInRect(point))break;
}
...
 
Статус
Закрыто для дальнейших ответов.