Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » VC++ / MFC » CTreeCtrl - Kontextmenü

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
01.10.2006, 17:01 Uhr
FloSoft
Medialer Over-Flow
(Administrator)


Hi,
also ich hab in nem Dialog ein CTreeCtrl - nun ja - momentan mach ich das so:


C++:
void CViewerDlg::OnNMRclickTree(NMHDR *pNMHDR, LRESULT *pResult)
{
    *pResult = 0;

    CMenu Menu;
    if(Menu.LoadMenu(IDR_TREECTRL_CONTEXTMENU))
    {
        HTREEITEM hItem = m_Tree.GetDropHilightItem();
        if(hItem)
            m_Tree.SelectItem(hItem);

        if(hItem)
        {
            POINT pt;
            GetCursorPos(&pt);
        
            CMenu* pPopup = NULL;
            CString Text = m_Tree.GetItemText(hItem);

            if(m_Tree.GetParentItem(hItem) == NULL)
                pPopup = Menu.GetSubMenu(0); // "Menu Parent"
            else
                pPopup = Menu.GetSubMenu(1); // "Menu SubItem"

            pPopup->InsertMenu(0, MF_BYPOSITION, 0, Text);
            pPopup->InsertMenu(1, MF_BYPOSITION|MF_SEPARATOR, 0);

            pPopup->TrackPopupMenu(TPM_LEFTALIGN|TPM_RIGHTBUTTON, pt.x, pt.y, this);
        }
    }
}




Problem ist nun: Wenn das TreeItem eben einen parent hat (also ein subitem ist) wird merkwürdigerweise kein ContextMenu gezeigt. GetSubMenu(1) liefert zwar "irgendwas" nur ka wohl nicht das 2te Menüfeld aus dem Menü. Wieso ist das so?!?
--
class God : public ChuckNorris { };
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
01.10.2006, 17:43 Uhr
FloSoft
Medialer Over-Flow
(Administrator)


ah hab nun rausgefunden woran das liegt - wenn ich auf ein schon selectes item "GetDropHilightItem" ausführe bekomme ich null. Hab das nun per HitTest gelöst - nun funktioniert es.
--
class God : public ChuckNorris { };
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ VC++ / MFC ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: