ListCtrl и Popup (Right Click) Menu
От: Viatcheslav G. Malakhov Россия http://www.slayeek.ru/
Дата: 23.10.03 18:21
Оценка:
Здравствуйте.

Я сделал программу АппВизардом на основе CListView. В этот View выбираются данные из базы. Выбираются ссылки на файлы локальных FTP серверов. Всё хорошо. Далее, сделал при клике на строчку с ссылкой добавление оной в буфер обмена. Потом решил, что нужно это реализовать через контекстное меню.

Сначала мучался с попап меню.

Таким образом:


void CFTPSrchView::OnRclick(NMHDR* pNMHDR, LRESULT* pResult) 
{
     CMenu menu;
     CPoint point;
     menu.LoadMenu(IDR_POPUP1);
     CMenu *popup=menu.GetSubMenu(0);
     popup->TrackPopupMenu(TPM_LEFTALIGN | TPM_RIGHTBUTTON,point.x, point.y, this);
}


Меню не вылезало вообще. Был варнинг: local variable 'point' used without having been initialized.

Потом ради интереса сделал так:

void CFTPSrchView::OnRclick(NMHDR* pNMHDR, LRESULT* pResult) 
{
     CMenu menu;
     CPoint point;
     menu.LoadMenu(IDR_POPUP1);
     CMenu *popup=menu.GetSubMenu(0);
     popup->TrackPopupMenu(TPM_LEFTALIGN | TPM_RIGHTBUTTON,100,100, this);
}


Меню вылезло без варнингов, но, естевственно по координатам 100 100.

Решил эксперементировать дальше. Иду в редактор меню. Хочу, как обычно, выбрав нужный пункт меню и нажам Ctrl+W, задать обработчик этому пункту. Хотел бы, но вылезает предложение создать класс.

Так вот каким образом мне релизовать:
1) Появлению меню, там где щёлкнули мышью.
2) Как сделать обработчик на пукнт меню.

Заранее спасибо за помощь.
--------------------------
С уважением, Малахов В.Г.
Microsoft Certified Professional
Microsoft Certified Application Developer
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.