Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Mazenrab
0 / 0 / 0
Регистрация: 19.12.2007
Сообщений: 33
#1

Странный вид PopUp Menu - C++

23.08.2008, 22:44. Просмотров 737. Ответов 1
Метки нет (Все метки)

Млин! То ли я лох полнейший, то ли чего не понимаю но у меня popup менюшки как-то странно выглядят! Узкий столбик высотой с количество элементов шириной пикселов 10-20 и все, никаких надписей, хотя ресурс есть и выглядит нормально...

код такой:
C++
1
2
3
4
5
6
7
8
void CTestpopupDlg::OnRButtonUp(UINT nFlags, CPoint point) 
{   
CMenu popup;        
ClientToScreen(&point);     
popup.LoadMenu(IDR_TESTMENU);   
popup.TrackPopupMenu(0,point.x,point.y,this);   
CDialog::OnRButtonUp(nFlags, point);
}
В чем может быть трабл а?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.08.2008, 22:44     Странный вид PopUp Menu
Посмотрите здесь:

Console + Menu C++
C++ Странный цикл for
статический вид -> динамический вид C++
C++ Странный поиск
Странный конструктор C++
Странный код C++
Странный цикл for С++ C++
C++ Странный калькулятор
C++ Странный вывод
Странный суп C++
Идеи реализации класса Menu C++
Странный sprintf C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Dima2002
0 / 0 / 0
Регистрация: 15.06.2008
Сообщений: 9
24.08.2008, 13:44     Странный вид PopUp Menu #2
Да нет, насчет лоха - это ты зря, наверное... Просто ты наступил на грабли, на которые все когда-то наступали.
Ответ:
1) Юзай не райтбаттонап, а WM_COMTEXTMENU - там в процедуру передаются правильные координаты точки нажатия;
2) Меню, которое ты хочешь подключить, не должно быть меню верхненго уровня - то есть ты должен создать меню первого уровня - с любым названием (я всегда именую 1), а вот уже в нем создается меню, которое будет у тебя показываться при нажатии правой клавиши (вообще-то, это очень упрощенный взгляд - пишу так чтобы тебе было понятно - просто можно в одном меню держать сколько-хочешь контекстных меню..)
3)Далее код:
C++
1
2
3
4
5
6
7
8
void C...Dlg::OnContextMenu(CWnd* pWnd, CPoint point) 
{
    CMenu menu_;
    menu_.LoadMenu(IDR_TESTMENU);
    CMenu* pSubMenu = menu_.GetSubMenu(0);    
    
    pSubMenu->TrackPopupMenu(TPM_LEFTALIGN |TPM_RIGHTBUTTON, point.x, point.y, this);
}
Если что непонятно - спрашивай.
Дмитрий.
Минск-2002.
Yandex
Объявления
24.08.2008, 13:44     Странный вид PopUp Menu
Ответ Создать тему
Опции темы

Текущее время: 21:00. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru