Zum Inhalt springen

Empfohlene Beiträge

Geschrieben


void CProgDlg::OnContextMenu(CWnd* pWnd, CPoint point)
{
// Lokale Variablen deklarieren
CMenu *m_lMenu; // Zeiger auf Menü
CPoint m_pPoint; // Kopie der Mausposition

// Mausposition in lokale Variable kopieren
m_pPoint = point;
// Zeiger auf Fenstermenü holen
m_lMenu = GetMenu();
// Zeiger auf erstes Untermenü holen
m_lMenu = m_lMenu->GetSubMenu(0);
// Popup-Menü anzeigen
m_lMenu->TrackPopupMenu(TPM_CENTERALIGN + TPM_LEFTBUTTON,
m_pPoint.x, m_pPoint.y, this, NULL);
}

[/PHP]

hast Du so versucht ?!?!?

Geschrieben

Hallo,

ich habe IDR_KONTEXTMENUE als eigenes Menü angelegt (also nicht als Untermenü).



void CSandorfCode::OnContextMenu(CWnd* pWnd, CPoint point) 

{


    CMenu *m_lMenu; 

    CPoint m_pPoint;


     m_pPoint = point;


     // Zeiger auf anzuzeigendes Menü

    m_lMenu->LoadMenu(IDR_KONTEXTMENUE);

    // Popup-Menü anzeigen

    m_lMenu->TrackPopupMenu(TPM_CENTERALIGN + TPM_LEFTBUTTON,

 m_pPoint.x, m_pPoint.y, this, NULL);



}


Hier gibt es allerdings in der Zeile m_lMenu->LoadMenu(IDR_KONTEXTMENUE) einen Fehler, da ja m_lMenu nicht initialisiert ist.

aber mit welchem Wert soll der Zeiger initialisiert werden?! :confused:

Gruß,

Technician

Geschrieben

... so funktioniert's zwar - aber das Kontextmenü wird nur als schmaler Streifen angezeigt. Genau so hoch, wie das Menü sein sollte - aber nur ca. 20 Pixel breit :(

Woran kann das liegen?!



void CSandorfCode::OnContextMenu(CWnd* pWnd, CPoint point) 

{

     CPoint m_pPoint; // Kopie der Mausposition

     Mausposition in lokale Variable kopieren

     m_pPoint = point;


     CMenu menu;

     menu.LoadMenu(IDR_KONTEXTMENUE);

     menu.TrackPopupMenu(TPM_CENTERALIGN + TPM_LEFTBUTTON,

     m_pPoint.x, m_pPoint.y, this, NULL);

}


Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...