Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

1

04.12.2006, 21:06

Alles rund um die Menuprogrammierung

hi,
ich hab so einige schwierigkeiten mit meinem Menu.

Ich möchte ein Menu in folgender Struktur:
Datei ............. Info
=> Neu
=> Beenden

Soweit so gut. Des klappt ja schließlich.
Aber jetzt möchte ich Icons einfügen. Für Neu und Beenden z.B.
Dann möchte es abfangen wenn der Nutzer auf Info klickt. Des check ich nicht ganz. Und wenn auf Info geklickt wird bräuchte ich zudem ne neue Form. :-)

Und dann wüsste ich noch gern wie man ein Icon für das App einbindet.

Danke im Voraus.

Gruß Zahlenwächter

wäre auch ganz nett ihr einfach paar allgemeine links zu dem thema posten würdet.
C# oder C++? ==> das ist hier die Frage.
"I want to die peacefully in my sleep like my grandfather. Not screaming in terror like his passengers."

koschka

Community-Fossil

Beiträge: 2 862

Wohnort: Dresden

Beruf: Student

  • Private Nachricht senden

2

04.12.2006, 21:15

in welcher Umgebung willst du das den machen? DOS, Windows, .NEt, irgendein anderes Packet?

Ich werfe mal meine Glaskugel an und die sagt mir, das du DOS meinst.
=> In Dos ist das einfügen von Bildern prinzipiell möglich, aber nicht in dem Kontext in dem du sie brauchst.
=> nutz WinAPI oder sonst irgendeine API, dort kannst du Buttons auch als Bilder definieren, und die Events einfach abfangen.

Faule Socke

Community-Fossil

Beiträge: 1 915

Wohnort: Schreibtischstuhl

  • Private Nachricht senden

3

05.12.2006, 18:10

Zitat von »"koschka"«

in welcher Umgebung willst du das den machen? DOS, Windows, .NEt, irgendein anderes Packet?

Ich werfe mal meine Glaskugel an und die sagt mir, das du DOS meinst.
=> In Dos ist das einfügen von Bildern prinzipiell möglich, aber nicht in dem Kontext in dem du sie brauchst.
=> nutz WinAPI oder sonst irgendeine API, dort kannst du Buttons auch als Bilder definieren, und die Events einfach abfangen.


Er meint Windows! ist doch logisch! er meint das menu was du in so ziemlich jedem proggie hast(meistens fängt es mit datei an)... meine erklärung war net die beste falls du es also net ganz verstanden hast mach ich n scrennshot!

koschka

Community-Fossil

Beiträge: 2 862

Wohnort: Dresden

Beruf: Student

  • Private Nachricht senden

4

05.12.2006, 18:41

Nö kann (und konnte) ich ned heraus lesen...
hier is was tolles (weiter unten) ;)
http://www.kronos-titan.privat.t-online.de/mfischer.ewfn.org/prog-win-api-03.html

Anonymous

unregistriert

5

06.12.2006, 00:03

Zitat von »"Faule Socke"«


Er meint Windows! ist doch logisch!


Ja weist du das denn nicht mehr koschka, wie wir früher in DOS den Text "Plzclosethisapplicationandexitwihoutsave" eingeben mussten da es ja KEINE MENUS gab?

:roll:

Faule Socke

Community-Fossil

Beiträge: 1 915

Wohnort: Schreibtischstuhl

  • Private Nachricht senden

6

06.12.2006, 14:00

ich meine genau dieses Menü(von deim link da oben):

(Link)


Was mit File anfängt und wo dann stuff kommt!
Soll ich es vllt noch im paint mit GROSSEN roten pfeilen "anmalen"??

EDIT: Sry Zahlenwächter das dein Thread zu einer Diskussion über menüs geworden ist!


mfg,

Faule Socke

Osram

Alter Hase

Beiträge: 889

Wohnort: Weissenthurm

Beruf: SW Entwickler

  • Private Nachricht senden

7

06.12.2006, 15:36

koschka hat es vielleicht provokant ausgedrückt. Aber um helfen zu können müssen wir in der Tat wissen worum es geht. Ich nutze z.B. in der Applikation an der ich meistens sitze MFC.
"Games are algorithmic entertainment."

koschka

Community-Fossil

Beiträge: 2 862

Wohnort: Dresden

Beruf: Student

  • Private Nachricht senden

8

06.12.2006, 16:50

@Faule Socke
Falls du es noch nicht bemerkt hast, man kann auch Menüs in Konsolen machen. Zahlenwächter hatte genau so ein Menü mal gemacht, daher dachte ich das er es verfeinern wollte. (z.B. mit Bildern)

Ich weiss nicht was für ein Trara du hier machst, den die meisten Deiner Antworten (in diesem Thread) zeugen von Unwissenheit, es gibt - wie Osram es schon sagte - zig Möglichkeiten ein Menü zu machen, und nicht alle enden in einem stupiden Windows Dropdown Menü.
Desweiteren hab ich Zahlenwächters Frage beantwortet (Link), du dagegen hast hier nur MÜLL geschrieben - wir sind nicht im OT. Auf Fehler hinzuweisen ist ok, aber nicht so.

Bitte back to topic, bei Antwort bitte per PM.

9

06.12.2006, 20:36

hi,
sry dass ich mein Problem net genauer beschrieben hab.

Ich nutze aktuell die VS2005 Prof 90 Tage Trial und arbeite in C++^^
=> Net Framework 2

Ich wollte eigentlich mal "ein PRO sein" und ein menu mit CreateMenu, AppendMenu und so machen. Bloß dass ich da nicht weiß wie man Bilder reinhaut und das Ergebnis abfängt wenn kein Untermenu vorhanden ist.

Gruß
Zahlenwächter
C# oder C++? ==> das ist hier die Frage.
"I want to die peacefully in my sleep like my grandfather. Not screaming in terror like his passengers."

koschka

Community-Fossil

Beiträge: 2 862

Wohnort: Dresden

Beruf: Student

  • Private Nachricht senden

10

06.12.2006, 22:11

Bei .Net kann ich dir nicht helfen ^^, aber die WinAPI Variante müsste so aussehen...., man sieht sehr leicht das Schema der winAPI hier ganz deutlich, erst laden, dann per Message setzen ;) -easy? easy!

C-/C++-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
    case WM_CREATE:
    {
        HMENU hMenu, hSubMenu;
        HICON hIcon, hIconSm;

        hMenu = CreateMenu();

        hSubMenu = CreatePopupMenu();
        AppendMenu(hSubMenu, MF_STRING, ID_FILE_EXIT, "E&xit");
        AppendMenu(hMenu, MF_STRING | MF_POPUP, (UINT)hSubMenu, "&File");

        hSubMenu = CreatePopupMenu();
        AppendMenu(hSubMenu, MF_STRING, ID_STUFF_GO, "&Go");
        AppendMenu(hMenu, MF_STRING | MF_POPUP, (UINT)hSubMenu, "&Stuff");

        SetMenu(hwnd, hMenu);


        hIcon = LoadImage(NULL, "menu_two.ico", IMAGE_ICON, 32, 32, LR_LOADFROMFILE);
        if(hIcon)
            SendMessage(hwnd, WM_SETICON, ICON_BIG, (LPARAM)hIcon);
        else
            MessageBox(hwnd, "Could not load large icon!", "Error", MB_OK | MB_ICONERROR);

        hIconSm = LoadImage(NULL, "menu_two.ico", IMAGE_ICON, 16, 16, LR_LOADFROMFILE);
        if(hIconSm)
            SendMessage(hwnd, WM_SETICON, ICON_SMALL, (LPARAM)hIconSm);
        else
            MessageBox(hwnd, "Could not load small icon!", "Error", MB_OK | MB_ICONERROR);
    }
    break;


Wie gesagt schau dir mal den Link an ;). Den "Klick" fängst du ganz normal mit WM_COMMAND und der ID des Buttons ab.

C-/C++-Quelltext

1
2
3
4
5
6
7
8
9
10
11
        case WM_COMMAND:
            switch(LOWORD(wParam))
            {
                case ID_FILE_EXIT:

                break;
                case ID_STUFF_GO:

                break;
            }
        break;


Zitat

und das Ergebnis abfängt wenn kein Untermenu vorhanden ist.
... wenn kein Unntermenü da ist, sind auch keine Menüeinträge da, damit auch keine ID's für die buttons. Du hast also nichts zum abfangen. Ich hoffe dies beantwortet deine Frage ^^

Werbeanzeige