mikrocontroller.net

Forum: PC-Programmierung Erweiterte Infos über API32 Menu-Eigenschaften


Autor: Exce(l)ntriker (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo an die Mitlesenden,

man kann ja unter (Excel)-VBA Funktionen der API32 nutzen um z.B. ein 
Menu in ein Fenster zu platzieren. Es gibt auch ein sehr schönes 
Beispiel dazu im Web:

http://michael-schwimmer.de/vba092.htm

Nun verschieben sich aber die Steuerelemente im Fenster nach unten 
sobald die Menuleiste erscheint, was an sich logisch und prinzipiell 
kein Problem ist. Es würde mich nur interessieren, ob man von VBA aus 
auch irgendwie abfragen kann wie hoch die Menüleiste ist? Ich habe im 
MSDN die API-Referenz gefunden und die Funktionen
SetWindowLongFindWindow
CreatePopupMenu
CreateMenu
DestroyMenu
DrawMenuBar
SetMenu
InsertMenuItem

nachgeschlagen. Leider konnte ich keinen Hinweis auf das 
Erscheinungsbild der Menüleiste finden. Ist dies von 'globalen' 
Windows-Einstellungen (in meinem Fall XP&SP3) abhängig? Oder gibt es 
Möglichkeiten, z.B. die Hintergrundfarbe der Menüleiste eines (1) 
Fensters temporär per API zu verändern oder eben die sichtbare Höhe 
abzufragen?

Würde mich freuen wenn jemand helfen kann.

Grüße,
Stefan

Autor: Rufus Τ. Firefly (rufus) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
API32 gibt es nicht. Du meinst die Win32-API.

Die Höhe der Menüleiste* erhält man mit

   GetSystemMetrics(SM_CYMENU);

SM_CYMENU hat den Wert 15.



*) O-Ton Dokumentation: The height of a single-line menu bar, in pixels.

Autor: Exce(l)ntriker (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>API32 gibt es nicht. Du meinst die Win32-API.

Stimmt. Danke für die Richtigstellung.

>Die Höhe der Menüleiste* erhält man mit
>
>  GetSystemMetrics(SM_CYMENU);
>
>SM_CYMENU hat den Wert 15.

Danke für den Tipp, auf GetSystemMetrics wäre ich nicht gekommen!

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.