2016-06-09 14 views
1

Ich möchte wissen, ob es möglich ist, die Informationen zu erhalten, ob es ein Menü in einem Windows-Fenster gibt oder nicht.Finden Sie heraus, ob ein Fenster eine Menüleiste hat

Diese Information würde als AdjustWindowRects 3. Parameter verwendet werden. Ich möchte diese Informationen, wenn möglich, nicht selbst speichern müssen.

+0

empfehle ich die Suche im Internet keywords "MSDN C++ erkennen Menü" mit –

+2

Wenn [ 'GetMenu'] (https://msdn.microsoft.com/en-us/library/windows/desktop/ms647640%28v=vs .85% 29.aspx) gibt 'NULL' zurück, dann gibt es kein Standardmenü. –

+0

Aha .. Ich suchte MSDN ... aber fand nie die Menü-Referenz .. Danke Jungs! – fodinabor

Antwort

3

Wenn das Fenster bereits erstellt wurde, können Sie GetMenu aufrufen und den Handle des Fensters übergeben. Wie in der Dokumentation erläutert:

Wenn das angegebene Fenster kein Menü enthält, ist der Rückgabewert NULL.

Wenn auf der anderen Seite, die Sie wissen müssen, ob ein Fenster, das bisher noch nicht ein Menü hat standardmäßig erstellt hat 1), können Sie die Klasse Informationen abfragen GetClassInfo durch den Aufruf und Vergleichen Sie das zurückgegebene WNDCLASS 'lpszMenuName Mitglied. Wie in der Dokumentation erklärt:

Wenn dieses Mitglied NULL ist, haben Fenster dieser Klasse kein Standardmenü.


1) Beachten Sie, dass noch ein Fenster ein Menü hinzugefügt oder entfernt werden zur Laufzeit durch den Aufruf SetMenu haben kann.

Verwandte Themen