Hächen zuweisen
-
Wie kann ich einer bestimmten ID (ID_CHECK) in einen Tray Menue ein Hächen bei click zuweisen (natürlich auch wie entferne). Kann mir einer sagen wie. Denn ich aber keine Idee.
-
Eigentlich ist das doch ein Forum, wo man deutsch (mit gewissen Abarten englisch) schreibt. Obiger Beitrag ist aber keine mir bekannte Abart irgendeiner Sprache!
-
MH also ich versteht es
Na ok Ich habe folgendes Problem.
Ich möchte ein Häckchen in einen TrayMenue Makieren.
In meinem Beispiel möchte ich damit abfragen ob das Programm mit Windows geboot werden soll. (Wie bei CloneCD wen man mich immer nich nicht verstanden hat))Wies einer wie das geht?
-
Suchen-funktion, gabs schon mehrmals
Tipp:SetCheck
-
MH also ich versteht es
Na ok Ich habe folgendes Problem.Ich möchte ein Häckchen in einen TrayMenue Makieren.
In meinem Beispiel möchte ich damit abfragen ob das Programm mit Windows geboot werden soll. (Wie bei CloneCD wen man mich immer nich nicht verstanden hat))Wies einer wie das geht?
Resume:
4 fehlerhafte bzw. fehlende Interpunktionszeichen, 5 allgemeine Rechtschreibefehler und 5 grammatikalische Fehler.
Wo lernt man so deutsch?[ Dieser Beitrag wurde am 28.02.2003 um 08:29 Uhr von RenéG editiert. ]
-
Man sollte sich in der Tat bemühen, so zu schreiben, daß andere es lesen und verstehen können. (Zu diesem Zweck wäre es gut, einen "Vorschau"-Knopf zu haben, anstatt den Beitrag sofort zu senden!)
Man sollte aber auch nicht andere wegen Legasthenie kritisieren, ohne selbst konstruktiv etwas beizutragen!Hier mein Vorschlag:
//MenueHaekchen() : Setzt / Entfernt Haekchen fuer Menue-Eintrag //_hMenu : HMENU, welches den Menue-Eintrag enthaelt //_iMenuItemID : ID des zu manipulierenden Menue-Eintrags void MenueHaekchen(HMENU _hMenu, int _iMenuItemID) { MENUITEMINFO mi; memset(&mi, 0, sizeof(MENUITEMINFO)); mi.cbSize = sizeof(MENUITEMINFO); mi.fMask = MIIM_STATE; if(!GetMenuItemInfo(_hMenu, _iMenuItemID, FALSE, &mi)) return; if(mi.fState & MFS_CHECKED) mi.fState &= ~MFS_CHECKED; else mi.fState |= MFS_CHECKED; SetMenuItemInfo(_hMenu, _iMenuItemID, FALSE, &mi); }
-
Vorschau wird es in der neuen Forumssoftware geben.
-
myTrayMenu.CheckMenuItem( ID_TO_CHECK, MF_BYCOMMAND|MF_CHECKED);
Selbst wenn man Legastheniker ist, sollte man sich bemühen, wenigstens mal die hübsche MSDN-Hilfe zu CMenu aufzuschlagen. Das sind 3 Mausklicks, um obige Codezeile zu finden.
-
'Tschuldigung, hast natürlich vollkommen recht. War im falschen Forum. Bin sonst normalerweise bei WinAPI.
-
Sorry für meine Fehler
Ich habe es so versucht:
CMenu m_TrayMenu;
m_TrayMenu.CheckMenuItem(ID_AUTOSTART, MF_BYCOMMAND|MF_CHECKED);Aber es passiert nichts. Was mache ich falsch ?
-
Des CMenu ist überhaupt nicht zugeordnet zum Dialog. Du musst erst Create() aufrufen.
-
Wie meinst du das den?
-
Naja also wenn du nur die zwei Zeilen oben dastehn hast dann geht des nicht.
Kenn mich zwar nicht mit CMenu aus, aber du musst das Menü auch erzeugen.
CMenu m_TrayMenu;
m_TrayMenu.CheckMenuItem(ID_AUTOSTART, MF_BYCOMMAND|MF_CHECKED);brint nix, weil des Menü noch gar nicht da ist.
Schau in der MSDN nach CMenu, dürfte vielelicht auch ein Besipiel drin sein.
des könnte dann vielleicht so aussehen:
CMenu m_TrayMenu;
m_TrayMenu.Create( .... , MENU_RESOURCE , .....);
m_TrayMenu.CheckMenuItem(ID_AUTOSTART, MF_BYCOMMAND|MF_CHECKED);
-
Wieso Create ?? Ich denke, das Menü ist schon da und es soll ein Häkchen rein! Der Name m_TrayMenu soll doch nur auf das SCHON EXISTIERENDE TrayMenu verweisen.
'tschuldigung, wenn ich mit dem Namensvorschlag nicht den Namen des Menüs von Klaus getroffen habe!
-
So wie er des geschriebn hat wäre das aber nur durch den m_ Präfix sichtbar.
NAja sonst weiß ich auch nicht wie es geht.
-
Das Problem ist das ich das vorhandene TrayMenu mit einer andren Klasse erstellt habe und diese ist nur zum anzeigen da.
-
Wie man auf Objekte innerhalb anderer Klassen zugreift, ist eine C++-Grundlage.
-
ja aber die klasse hat nichts mit dem Setzen des Hackchens zutun.
-
Ok dann versuchen wir es andres.Wie erstellt man den in MFC ein Tray Icon mit KontexMenu? Weil da is dan Häckchen ja nich mehr das Problem.
thx im voraus