Wygenerowanie menu wxWidgets

Wygenerowanie menu wxWidgets
JG
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 3
0

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

Kopiuj
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:

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

Cały kod funkcji:

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

   PopupMenu( popmen, event.GetX(),event.GetY());
}
_13th_Dragon
  • Rejestracja: dni
  • Ostatnio: dni
0

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

Kopiuj
wxPoint pt=ClientToScreen(wxPoint(event.GetX(),event.GetY()));
...
PopupMenu( popmen,pt.x,pt.y);
JG
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 3
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.