contextmenü



  • hab mal n kleines problem das krieg ich nich gebacken... ich will ein kontext menü einbaun in meine child windows und zwar so, dass die nachrichten ans parent geschickt werden. dazu habe ich folgende menüs:

    IDR_LV_CONTEXT_MENU MENU DISCARDABLE 
    BEGIN
        MENUITEM "Umbenennen",                  IDM_RENAME
        MENUITEM "ID3 Tag &editieren",          IDM_EDIT_ID3
    END
    
    IDR_TV_CONTEXT_MENU MENU DISCARDABLE
    BEGIN
    	MENUITEM "&Hinzufügen...",		IDM_ADD_DIR
    END
    

    meine windowproc sieht folgendermassen aus:

    LRESULT CALLBACK WindowProcedure (HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
    {
    
        switch (message)                  /* handle the messages */
        {
        	case WM_CREATE:
            	    hMenuTV = LoadMenu(g_hInst, MAKEINTRESOURCE(IDR_TV_CONTEXT_MENU));
            	    hMenuLV = LoadMenu(g_hInst, MAKEINTRESOURCE(IDR_LV_CONTEXT_MENU));
            	    break;
    /* [...] */    		
           	case WM_CONTEXTMENU:
           	{
           		POINT pt;
    
           		pt.x = LOWORD(lParam);
           		pt.y = HIWORD(lParam);
    
           		if ((HWND)wParam == ExTV.GetHandle())
          			TrackPopupMenu(hMenuTV, TPM_LEFTALIGN | TPM_RIGHTBUTTON,  
                					pt.x, pt.y, 0, hwnd, NULL);  
     			else
          			TrackPopupMenu(hMenuLV, TPM_LEFTALIGN | TPM_RIGHTBUTTON,  
                					pt.x, pt.y, 0, hwnd, NULL);  
    
           		break;
      		}
            default:                      /* for messages that we don't deal with */
                return DefWindowProc (hwnd, message, wParam, lParam);
        }
    
        return 0;
    }
    

    das problem is nu aber, dass er bei nem rechtsklick, das richtige menü anzeigt, ABER ich seh nur nen schmalen streifen ohne text, der eindeutig das menü ist... habt ihr ne idee?

    mfg fallen



  • Handle to the shortcut menu to be displayed. The handle can be obtained by calling CreatePopupMenu to create a new shortcut menu, or by calling GetSubMenu to retrieve a handle to a submenu associated with an existing menu item.



  • wenn ichs mir getsubmenu() mache, zeigt er mir gar nix an... (auf die idee binsch au schon gekommen)



  • fallen schrieb:

    , zeigt er mir gar nix an...

    Schlägt GetSubMenu also fehl, oder was? Das liegt vermutlich daran, daß Du gar keine Popups in Deiner Menu-Ressource hast. Versuch's mal so:

    IDR_LV_CONTEXT_MENU MENU DISCARDABLE  
    BEGIN 
        POPUP ""
        BEGIN
            MENUITEM "Umbenennen",                  IDM_RENAME 
            MENUITEM "ID3 Tag &editieren",          IDM_EDIT_ID3 
        END
    END 
    
    IDR_TV_CONTEXT_MENU MENU DISCARDABLE 
    BEGIN 
        POPUP ""
        BEGIN
            MENUITEM "&Hinzufügen...",        IDM_ADD_DIR 
        END
    END
    


  • boah geil danke dir...


Anmelden zum Antworten