PDAclub.pl - Forum użytkowników technologii mobilnych
Windows Mobile (Classic, Professional, Standard), Windows Phone 6.x oraz 7/8.x/10 => Oprogramowanie PPC => Dla programistów => Wątek zaczęty przez: kielnia w Marzec 11, 2006, 11:30:34
-
Witam
Problem dotyczy kontekstowego menu. Postępuję tak jak w VC++ 6.0 ale niestety wyskakują blędy podczas kompilacji takiego typu:
--------------------Configuration: Menu - Win32 (WCE emulator) Debug--------------------
Compiling...
MenuDlg.cpp
D:\projekty\menu\MenuDlg.cpp(43) : error C2065: 'ON_WM_CONTEXTMENU' : undeclared identifier
D:\projekty\menu\MenuDlg.cpp(45) : error C2059: syntax error : '{'
D:\projekty\menu\MenuDlg.cpp(45) : error C2143: syntax error : missing ';' before '{'
D:\projekty\menu\MenuDlg.cpp(45) : error C2447: missing function header (old-style formal list?)
D:\projekty\menu\MenuDlg.cpp(45) : error C2143: syntax error : missing ';' before '}'
Error executing cl.exe.
Menu.exe - 5 error(s), 0 warning(s)
Kod funkcji wygląda tak:
void CMenuDlg::OnContextMenu(CWnd* pWnd, CPoint point)
{
// TODO: Add your message handler code here
CMenu *m_lMenu; // Wskaźnik do menu
CPoint m_pPunkt; // Kopia pozycji kursora myszy
m_pPunkt = point; // Pozycja myszy do zmniennej lokalnej
//ClientToScreen(&m_pPunkt); // Zamiana pozycji względnej na ekranową
m_lMenu = GetMenu(); // Pobranie wskaźnika do menu
m_lMenu = m_lMenu -> GetSubMenu(0); // pobranie wskaźnika do pierwszego podmenu
// Wyświetlenie menu kontekstowego
m_lMenu -> TrackPopupMenu(TPM_CENTERALIGN,
m_pPunkt.x,m_pPunkt.y,this,0);
}
Mam nadzieję ze mi na to cos poradzicie. Ponadto ponownie ponawiam prośbę o odpowiedź na mojego posta dotyczącego zwykłego menu.
Pozdrawiam.
-
Sam sobie odpowiadam ale niestety tylko po części (i to bardzo małej).
Znalazłem artykuł nawet z dołączonym do tego projektem dotyczący tego właśnie problemu. Niestety znów zonk :( :( :( projekt jest na eVC++ 3.0 i niestety nie działa pod eVC++ 4.0. Problem jest w dołączeniu pliku afxres.h i jeszcze jakiegoś jednego którego nazwy nie pamiętam. Oznacza to że widok klas i plików jest dostepny ale niestety widok zasobów nie :( . W artykule jest niby napisane jak to robic (nawet trzeba klasę do tego dodatkową założyć) ale mimo moich szczerych starań niestety nic mi nie wychodzi - z każdym krokiem jest coraz więcej błędów po kompilacji. Tak wiec proszę kogoś bardziej obeznanego w tym temacie aby mi rozjaśnił sprawę.
Oto link do artykułu:
http://www.pocketpcdn.com/articles/contextmenu.html
Pozdrawiam.
-
Z tego co sie dowiedzialem wydaje mi się ze kontektowe menu działa chyba na List Controll itp. oraz na programach typu Single Document gdzie istnieje mozliwośc pracy ze znakami. Natomiast menu kontekstowe niestety chyba nie wspołpracuje z Dialogami.
Bardzo prosze o opinie na ten temat i moze ktoś obali moja tezę. Jeśli jestem w błędzie to proszę bardzo o wytłumaczenie i przeanalizowanie całego tematu który utworzyłem.
Pozdrawiam.
-
Coś takiego:
http://cowo.supersized.org/archives/6-ON_WM_CONTEXTMENU-bug-in-Embedded-Visual-C++-4.html
Ci nie pomoże?
Gość ręcznie wstawia brakujące #define ON_WM_CONTEXTMENU
Chodzi poprawnie a żadnych głebokich rewolucji w projekcie.