Seite 1 von 1

Wozu ist der Befehl MenuHight()

Verfasst: 12.06.2007 13:03
von Xaby
Jetzt mal ganz ehrlich ...

#M=19 hätte es auch getan.

Denn es kommt nichtmal ne Fehlermeldung:
Wenn mein Programm nur so lautet:

Code: Alles auswählen

Debug MenuHeight()
Ich nutze PB 4.1

Vielleicht liegt es ja daran. Wieso lautet der MenuBefehl nicht:
MenuHight(#Meu)
wie auch bei StatusBarHeight(#Statusbar) und ToolBarHeight(#Toolbar)

Sollte MenuHeight() nicht 0 zurückgeben, wenn man keins in dem angesprochenen Window benutzt? Und woher weiß MenuHeight, wenn man nicht das passende Menu erstmal mit angeben muss?

Also der MenuHeight() - Befehl ist ein Befehl, der so wie er ist, kein Befehl ist.

Und wie kann man mehrere Menüs unter einander machen?
Oder ist das nicht gedacht? Lieber eine Toolbar, die auch Text enthält?

Wie kann ich ohne fette If-Abfragen meine richtige Menübar-Höhe ermitteln? Ist sie wirklich immer 19? Was ist, wenn jemand ganz große Schrift eingestellt hat?

>>
CreateMenu(#Menu,WindowID(#MainWin))
MenuTitle("")
HideMenu(#Menu,1)
<<

Code: Alles auswählen

Procedure MenuHeightF(Menu.l)
  If IsMenu(Menu)
    ProcedureReturn MenuHeight()
  Else
    ProcedureReturn 0
EndIf    
EndProcedure
Aber wenn mein Menu versteckt ist oder keinen Titel hat ... liefert mir meine Funktion natürlich auch 19.
GetMenuTitle gibt es nicht. ...

Und das Verstecken ändert nichts an der Menu-Höhe. Zu mindest nicht an MenuHeight()

.... :?

Verfasst: 12.06.2007 13:31
von ts-soft
>> #M=19 hätte es auch getan.
Nein, bei mir ist es 20 und noch anderen ganz was anderes. Zur Berechnung
der Gadgetpostion nach einem Resizing ist dieser Wert wichtig.
Da die Höhe auf jedem Fenster (nicht auf jedem OS oder gar Skin) gleich ist,
ist eine Nummernangabe überflüssig. Auf all diese Dinge wärste vielleicht von
alleine gekommen, wenn Du nicht soviel Zeit in Babyöl investieren würdest :twisted:

Verfasst: 12.06.2007 13:53
von Xaby
ich freue mich, dass du meinen Beitrag gelesen hast, auch wenn er ausversehen im Mülleimer gelandet ist.

Und ganz ehrlich, ich habe versucht, mein Fenster mit Gadgets so zu gestalten, dass die Menü-Höhe mitberücksichtigt wird.

Doch bei einem Resize muss ich ja irgendwie herausfinden, ob ein Menü überhaupt sichtbar ist oder nicht.
Das macht bei mir 19 und bei dir 20 Pixel Unterschied.

wie mache ich das nun also am klügsten?

Würde die Funktion einfach 0 wiedergeben, wie die anderen beiden, dann wäre es für mich viel einfacher und auch sinnvoller.

Es war nur ein Hinweis und eine Frage. Ich finde, die Befehle sollten sich den Nutzern anpassen und nicht umgekehrt.

:allright:

[p.s.: übrigens BabyÖl war vorgestern, liest ja keiner mehr mit, wenn es nicht auffindbar ist. MenüBefehl ist mir heute erst aufgefallen. Zeitlich also nicht gleich. GetTopicBeschäftigungsDate(#Topic)

#Baby=1
#Menu=2
Debug GetTopicBeschäftigungsDate(#Baby)
>> ergibt Wert: Vorgestern
Debug GetTopicBeschäftigungsDate(#Menu)
>> ergibt Wert: Heute

Ist eigentlich genauso wie StatusBarheight()
Hätte ich mich mit der Sache gar nicht beschäftigt
Debug GetTopicBeschäftigungsDate(#Menu)
>> ergibt Wert: 0

Nüjschah? :mrgreen:

Verfasst: 12.06.2007 14:08
von ts-soft
>> ob ein Menü überhaupt sichtbar ist oder nicht.
Das Bedarf keiner KI, sondern als Programmierer solltest Du es Wissen.
Sollte der Benutzer eine Möglichkeit haben das Menü zu verstecken, so wirste
es auch Wissen, da der Benutzer ein Ereignis auslösen muß, um es zu
verstecken (das verstecken des Menüs ist sowieso unüblich, bzw. nur selten
Sinnvoll)

>> ich freue mich, dass du meinen Beitrag gelesen hast
Lediglich zwangsweise überflogen, lesen werde ich den Quatsch mit
Sicherheit nicht, sehe auch keine Sesamstrasse mehr.

Verfasst: 12.06.2007 14:12
von Xaby
Deine Antwort habe ich erwartet.

Es gibt also keinen IsMenuVisible(#Menu) Befehl.

Du hast schon Recht, mit dem, was du schreibst. Aber dann muss man ja wieder für jedes Menu eine extra Variable einführen.
Ich finde alles, was man setzen kann, sollte man auch lesen können.

Werde natürlich auch ohne diesen Befehl auskommen.

[OT]
>> Was ist an Sesamstraße falsch? Ich schau sie mir gern an.
>> Grafzahn, Erni und Berd

Genauso Hallo Spencer oder die Muppets. Oder die Fraggles.
Die Dinos ...
[/OT]

Verfasst: 12.06.2007 14:16
von Tafkadasom2k5
<OT@TS-Soft>
Xabys "geisitge Ergüsse" hin oder her: Bitte zügle mal deinen Sarkasmus und deine Negativbemerkungen. Wie es aussieht hat Xabys Text ein paar Leute erreicht, und somit auch erreicht, was er wollte. Nur weil es DIR nicht gefällt, ist es nicht gleich Müll. Also bitte sei mal ein bisschen netter okay? Bist doch sonst auch nicht so :wink: :allright: </OT@TS-Soft>