Wygenerowanie menu wxWidgets

0

Czesc, poniższa linijka kodu powinna generować Menu w miejscu gdzie wówczas znajduje się kursor.

PopupMenu( popmen, event.GetX(),event.GetY());

Poroblem polega na tym, że Menu generuje kompletnie gdzieindziej (z boku ekranu).
dołączyłem te includy jednak rezultat się utrzymuje:

#include <wx/menu.h>
#include <wx/mousestate.h>
#include <wx/event.h>

Cały kod funkcji:

void myFrame::OnMenuClick(wxMouseEvent& event)
{
    wxMenu *popmen = new wxMenu();
    popmen->Append(1, "Dodaj ");
    popmen->Append(2, "Usun");

   PopupMenu( popmen, event.GetX(),event.GetY());
}
0

Trzeba przeliczyć współrzędne na współrzędne ekranu: ClientToScreen()

wxPoint pt=ClientToScreen(wxPoint(event.GetX(),event.GetY()));
...
PopupMenu( popmen,pt.x,pt.y);
0

Dziękuję :>

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.