Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss
Groups keyboard shortcuts have been updated
Dismiss
See shortcuts

Untermenues anlegen

14 views
Skip to first unread message

Wendelin Uez

unread,
Jun 12, 2023, 11:57:28 AM6/12/23
to
Ich möchte zur Laufzeit eine geschachtelte Menüstruktur anlegen und suche
deshalb ein Beispiel, wie ich ein untergeordnetes Menü anlegen kann, also
sowas:
menu1
menu21
menu211
menu212
menu22
menu23

Dieter Strassner

unread,
Jun 12, 2023, 5:25:53 PM6/12/23
to
Kann dir nur eine Teillösung anbieten.
Eine komplett dynamisch erzeugte Menüstruktur hatte ich nicht hinbekommen.
Habe mir dann damit beholfen, das ich Leereinträge angelegt und diese
dann de/aktiviert habe.

Dein Beispiel-MenüItem "menu211" wäre unten das übergebene Objekt
"MenueItem" und hätte den Index 1 (also Eintrag menu21(1) ). bei Bedarf
(abhängig von c), werden dann die Einträge menu21(2), menu21(3), etc
angelegt:

For i = 1 To c
If MenueItem.UBound < i Then
Load MenueItem.ITEM(i)
End If
MenueItem.ITEM(i).Caption = .ITEM(i).Bezeichnung
MenueItem.ITEM(i).Tag = .ITEM(i).MenueTag
MenueItem.ITEM(i).Checked = False
MenueItem.ITEM(i).Visible = True
...



--
Viele Grüße - Dieter

Strassner Informatik GmbH & Co KG
68623 Lampertheim
Internet: www.strassner.biz

Wendelin Uez

unread,
Jun 13, 2023, 5:13:34 PM6/13/23
to
Danke für die Antwort. Ich hatte gehofft, es gäbe sowas wie SetParent bei
Fenstern, mit dem man einen so generierten Menüeintrag einem anderen
unterordnen kann.

Lothar Geyer

unread,
Jun 16, 2023, 5:32:07 AM6/16/23
to
Hat zwar nicht viel mit der Frage zu tun. Aber vielleicht ist die
Vorgehensweise interessant. In meinem Programm ist die Menü-Struktur
vorgegeben, aber die Darstellung hängt von Parametern ab. Kopie aus dem
Source-Code:

' menü SUCHEN
mnuSuchen.Visible = True
mnuSuchen.Enabled = False
mnuSuchenMain(4).Visible = inVBdevelopment Or
Len(Environ("tmThomas")) > 0 ' tags
mnuSuchenMain(7).Visible = Lizenz.VFun(fuProjekte)
mnuSuchenMain(8).Visible = Lizenz.VFun(fuProjekte)
mnuSuchenMain(9).Visible = Lizenz.VFun(fuFertig)
mnuSuchenMain(10).Visible = Lizenz.VFun(fuFertig)

Schönes Wochenende!
Lothar Geyer

Happy Oyster

unread,
Jun 18, 2023, 6:03:22 AM6/18/23
to
Wozu mag es nur diese komischen Api-Befehle geben wie z.B.
GetMenu
GetSubMenu
AppendMenu
RemoveMenu
SetMenu
SetMenuItemInfo
usw...
Alles, samt Beispielen, ganz einfach per Google zu finden.
Aber die Nutzung von Googel meidest Du ja eh wie der Teufel das Weihwasser...

Lothar Geyer

unread,
Jun 19, 2023, 6:00:21 AM6/19/23
to

Wendelin Uez

unread,
Jun 20, 2023, 1:19:04 PM6/20/23
to
> Wozu mag es nur diese komischen Api-Befehle geben wie z.B.

Naja, wie man an dir sieht bedeutet etwas lesen zu können nicht zwangsweise
auch etwas erklären zu können. Manche können ja auch noch nicht mal auf eine
Erklärung verlinken.

Wendelin Uez

unread,
Jun 20, 2023, 1:19:04 PM6/20/23
to
Das habe ich auch gefunden, bildet allerdings,soweit ich das verstehe, nur
das Erzeugen eines Geschwistereintrags nach, nicht aber das Erzeugen eines
Untermenüs. Für ersteres braucht man keine API-Funktion direkt aufrufen, das
ist im Load-Befehl bereits implementiert.

Happy Oyster

unread,
Jul 2, 2023, 6:49:58 AM7/2/23
to
Wendelin Uez schrieb am Dienstag, 20. Juni 2023 um 19:19:04 UTC+2:
> > Wozu mag es nur diese komischen Api-Befehle geben wie z.B.
> Naja, wie man an dir sieht bedeutet etwas lesen zu können nicht zwangsweise
> auch etwas erklären zu können.

Ja, du wolltest wie immer etwas Fertiges. Das war mir schon klar.

> Manche können ja auch noch nicht mal auf eine
> Erklärung verlinken.

Weil manch einer keine Lust hat, dir alles hinterher zu tragen.

Wenn man nur mal GetMenu bei Google eingibt, dann landet man im MSDN,
wo jeder einzelne Menü-Befehl ausführlich erklärt wird. Sogar auf Deutsch.
30 Minuten M$ lesen und man kann das selber.

Aber bitteschön, hier ein fertiges Beispiel aus dem Jahr 2001, das demonstriert
was das für ein Pillefick ist. http://ketelaer.de/menu.rar

Wendelin Uez

unread,
Jul 2, 2023, 11:28:09 AM7/2/23
to
> Ja, du wolltest wie immer etwas Fertiges. Das war mir schon klar.

Du irrst. Und zwar gewaltig. Jedenfalls mit dem ersten Satz :-)

Ich suche nix "Fertiges". Aber die reine API-Doku, meist auch noch in C
geschrieben, hilft mit nicht viel weiter. Was ich suche, immer, sind
Beispiele, die mir das Zusammenspiel aufeinanderfolgender API-Calls zeigen.
Um das für meine Bedürfnisse zu konfektionieren hat ein einfaches copy &
paste noch nie gereicht, noch immer musste ich etwas anpassen, umschreiben,
und oft auch ziemlich viel testen und neu schreiben. Aber es ist trotzdem
ein riesiger Unterschied zu reinen Dokumentationen - die brauche ich erst,
wenn ich was grundsätzlich verstanden habe und weitere Details wissen will.


> ber bitteschön, hier ein fertiges Beispiel aus dem Jahr 2001, das
> demonstriert
> was das für ein Pillefick ist. http://ketelaer.de/menu.rar

Danke für das File, aber mein aktueller 7-zip mag das irgendwie nicht
entpacken, deshalb erstmal kein Kommentar dazu.

Lothar Geyer

unread,
Jul 3, 2023, 4:12:40 AM7/3/23
to
> Danke für das File, aber mein aktueller 7-zip mag das irgendwie nicht
> entpacken, deshalb erstmal kein Kommentar dazu.

Mein 7-zip (16.04 vom 2016-10-04) öffnet das ohne Probleme. Aber beim
Ausführen kommt ein Fenster mit einem Icon für ein Image - sonst nichts.

Lothar Geyer

Happy Oyster

unread,
Jul 16, 2023, 10:20:12 AM7/16/23
to
Ich bin mir zielich sicher, dass in der Form zwei Menüs mit dem Namen Datei
und den Untermenüs Neu, Öffnen, Speichern erscheinen. Ruft man die Form
in der IDE auf, dann sind diese Menüs wie von Geisterhand verschwunden.
Könnte sein, dass die erst zur Laufzeit erstellt werden...

Gruß Klaus

0 new messages