Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » VC++ / MFC » Menuitem disablen

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
30.07.2003, 14:34 Uhr
Windalf
Der wo fast so viele Posts wie FloSoft...
(Operator)


Hallo,
wie kann ich ein Menuitem bzw gleich den ganze Menupunkt eines Menus das ich dem Dialog hinzugefügt habe disablen bzw. enablen?

Danke Heiko
--
...fleißig wie zwei Weißbrote
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
30.07.2003, 15:04 Uhr
Windalf
Der wo fast so viele Posts wie FloSoft...
(Operator)


Menuitem hab ich hinbekommen


C++:
Mainmenu.LoadMenu(IDR_MAINMENU);
SetMenu(&Mainmenu);

Mainmenu.EnableMenuItem(ID_VIEWER,MF_DISABLED);



wie kann ich aber einen ganzen Menupunkt der viele Menuitems enthält disablen?
--
...fleißig wie zwei Weißbrote
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
30.07.2003, 15:35 Uhr
FloSoft
Medialer Over-Flow
(Administrator)


der bekommt auch eine ID das geht dann genauso ...
--
class God : public ChuckNorris { };
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
30.07.2003, 17:15 Uhr
Windalf
Der wo fast so viele Posts wie FloSoft...
(Operator)


das teil hat aber keine ID und das feld wo ich dem eine verpassen könnte ist ausgegraut

Wie verpasse ich dem eine?
--
...fleißig wie zwei Weißbrote
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
31.07.2003, 09:22 Uhr
~mutu
Gast


hallo!
ich glaube, heiko spricht(schreibt) hier eher von einem submenü, welches komplett ausgeblendet werden soll(?).


C++:
CMenu* pPopupMenu;
//enablen eines Submenüeintrages
pPopupMenu->EnableMenuItem(ID_MENUPOINT1_OF_MY_SUBMENU, MF_ENABLED);
pPopupMenu->EnableMenuItem(ID_MENUPOINT2_OF_MY_SUBMENU, MF_ENABLED);
...
//disablen aller Einträge im Submenu
nCount = pPopupMenu->GetMenuItemCount( );//wieviele Submenus exist. im Menü?
for(i = 1; i < nCount; i++)
{  
     //SubMenus haben keine ID
    if(-1 == pPopupMenu->GetMenuItemID( i -1 ))
    {    
        //SubMenu an zweiter Stelle (von oben gesehen)?
       if(nSubMenu == 2)
       {
          pPopupMenu->GetMenuString(i -1, achBuf, sizeof(achBuf),        
          MF_BYPOSITION);
          //Zur Sicherheit nochmal auf Namen prüfen(?)
          if(strcmp(achBuf, "MySecondSubMenu") == 0)
          {
          //pPopupMenu->RemoveMenu( (i -1), MF_BYPOSITION );
          pPopupMenu->EnableMenuItem(ID_MENUPOINT2_OF_MY_SUBMENU,    
         MF_DISABLED);
    nSubMenu  =0;
           }
         break;
        }                    
      nSubMenu++;
    }
}


Dieser Post wurde am 01.08.2003 um 12:24 Uhr von FloSoft editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
005
01.08.2003, 01:17 Uhr
Windalf
Der wo fast so viele Posts wie FloSoft...
(Operator)


@mutu
danke erstmal aber
leider funktioniert dies hier nicht

C++:
Mainmenu.EnableMenuItem(Mainmenu.GetMenuItemID(0),MF_GRAYED);


das liegt daran das GetMenuItemID leider -1 zurückliefert.

Unter den Ressourcen kann ich das Menu leicht auf Greyed setzen .Allerdings
habe ich dann das gleich problem wie vorher das ich das nicht enablen kann.

Meine Menu sieht ausschnitsweise so aus

Daten ........
Benutzer .......
erstellen .......
löschen
ändern
Maschine
erstellen
löschen
ändern
Rohr
erstellen
löschen
ändern

usw.
Ich will jetzt das Hauptmenu DATEN ausgrauen und wieder enablen können.
Ich hoffe mir kann jemand helfen

Gruss Heiko
--
...fleißig wie zwei Weißbrote
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
006
01.08.2003, 12:07 Uhr
Windalf
Der wo fast so viele Posts wie FloSoft...
(Operator)


so jetzt hab ich den sch**s endlich hinbekommen
wenn man keine ID hat geht das so


C++:
Mainmenu.EnableMenuItem(0,MF_BYPOSITION|MF_GRAYED);


man musste MF_BYPOSITION mit MF_GRAYED verodern.
da hätte ich ja auch früher drauf kommen können

Tortzdem danke an alle die mir helfen wollten

Gruss Heiko
--
...fleißig wie zwei Weißbrote
 
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: