problem mit menü



  • ich habe ein programm gebaut, dass per button aufgaben ausführt.

    nun habe ich ein menü zum programm hinzugefügt, möchte die alte funktion behalten, aber beide sachen kommen sich in die quere, so wie ich es jetzt habe

    Problem:

    Ich habe

    switch (LOWORD(wParam))
    {
    

    immer mit dem vergleich == 1 bis 10 versehen

    nun so wie ich menüs kenne muss man sie nach

    switch (LOWORD(wParam))
    

    mit case Bezeichner:
    ...

    mit funktionen belegen.

    Also ich möchte das mein menü arbeitet ohne mit den buttonsachen in berührung zu kommen.

    Was gibt es da für möglichkeiten? wie könnte man das ausführen

    Vorstellung:

    Programm arbeitet, während man in der Menüleiste Optionen auswählen kann, um zb eine message box aufzurufen..



  • peter_langstrumpf schrieb:

    Ich habe

    switch (LOWORD(wParam)){
    

    immer mit dem vergleich == 1 bis 10 versehen

    Wo hast du denn bei switch einen Vergleich mit == 😕

    peter_langstrumpf schrieb:

    Also ich möchte das mein menü arbeitet ohne mit den buttonsachen in berührung zu kommen.

    Was ist dein Problem? Du kannst doch einfach zu deinen bisherigen case-Marken von den Buttons deine Bezeichner vom Menü hinzufügen.

    BTW: Das sind auch nur ganz normale Zahlenwerte, die nur eben über #define einen Namen bekommen haben - sinnvollerweise macht man das auch für die Buttons...



  • ich habe buttons festgelegt:

    h01 = CreateWindow ( "button", "A", WS_CHILD | WS_VISIBLE | BS_PUSHBUTTON,
     100, 130, 200, 150, hwnd, (HMENU)1,
     (HINSTANCE) GetWindowLong (hwnd, GWL_HINSTANCE), NULL);
    

    nun wird die funktion zu dem button 1 nach dem klicken ausgeführt:

    if ( LOWORD (wParam) ==1) // 1 == menüpunkt 1
    {
    ...
    }
    

    wenn ich nun aber ein menü einfüge (ich weiß nicht wie ich das in die funktion implementieren kann) wird zb bei programmstart schon ein menüpukt ausgeführt, das ich ja erst nach der auswahl von einem menüpunkt haben will..

    so habe ich das menü eingebaut:

    if ( LOWORD (wParam))
    {
    case IDM_FILE_FUNC:
    //usw..

    nun kommen sich ja beide sachen in die quere und ich möchte eine lösung wie ich ein menü in dieses button programm mache ohne das etwas unkontrolliert ausgeführt wird (im logischen sinne)..

    MFG
    peter_langstrumpf



  • *_:

    die buttons sind nicht mit edit gemacht sondern wie gesagt mit

    if ( LOWORD (wParam) ==1) //Button nummer 1 gewählt
    

    da ich aber meine case marken von menü auch in ein

    switch ( LOWORD (wParam))
    

    packen muss, kommen beide in konflikte.

    somit brauche ich eine lösung die freidlich für alle LOWORD abfragen aussieht

    🙄



  • ok es hat sich erledigt... nach fast allen kombinationen hat eine funktioniert 👍


Log in to reply