BlitzUI - MenuBar in MenuItem

Übersicht BlitzBasic Blitz3D

Neue Antwort erstellen

 

martin_moehler

Betreff: BlitzUI - MenuBar in MenuItem

BeitragMi, Apr 01, 2009 13:14
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo,
wenn ich in Untermenus eine MenuBar einfüge habe ich folgendes Problem:
Die MenuHeight, die durch den MenuBar (gad\Owner\IH/2) dazukommt, wird in dem Hauptmenu(Direkt unter dem MenuTitel) dazugerechnet, nicht aber in dem Menu wo ich den MenuBar erstelle. Ich kann den Fehler in der BlitzUI nicht finden!

Danke für Tips

Martin
Intel Core 2 quad 2.3 Ghz, Nvidea GeForce GT 120, 4GB Arbeitsspeicher, Vista 64 bit

Eingeproggt

BeitragMi, Apr 01, 2009 13:38
Antworten mit Zitat
Benutzer-Profile anzeigen
Ist schon wieder etwas länger her dass ich damit gearbeitet hab aber so wie ich das versteh ist das gar nicht vorgesehen, eine MenuBar in ein MenuItem zu stecken. Wenn du Untermenüs haben willst (zB Datei -> Zuletzt geöffnet) dann musst du einfach als Parent das übergeordnete MenuItem angeben.

mfG, Christoph.
Gewinner des BCC 18, 33 und 65 sowie MiniBCC 9
 

martin_moehler

BeitragMi, Apr 01, 2009 17:52
Antworten mit Zitat
Benutzer-Profile anzeigen
Genau! Mach mach ich auch. Ich weill aber z.b. Map -> Objekte laden --> *und hier jetzt alle möglichen Objekte und dann ne Trennung durch ne MenuBar() und dann andere Optionen.*
Und anstatt die height von "Objekte laden" angepasst wird wird sie in "Map" angepasst, sodass das Menu von "Map" genau um die Height von derr MenuBar() zu lang und die Height von "Objekte laden" zu kurz ist. Das heißt es ist ein Fehler in BlitzUI den ich auch schon ungefähr lokalisiert hab:

In der Function MenuItem()
Code: [AUSKLAPPEN]

   If gad\Caption <> "-"
      gad\DW = 50
      gad\DH = 2

        SetFont app\fntMenu
      If gad\ParentMenu = Null
         gad\Owner\DH = gad\Owner\DH + gad\Owner\IH
         If gad\ShortCut = ""
            If StringWidth(gad\Caption)+gad\Owner\SBW+2+15 > gad\Owner\DW
               gad\Owner\DW = StringWidth(gad\Caption)+gad\Owner\SBW+2+15
            EndIf
         Else
            If StringWidth(gad\Caption)+gad\Owner\SBW+2+15+StringWidth(gad\ShortCut)+10 > gad\Owner\DW
               gad\Owner\DW = StringWidth(gad\Caption)+gad\Owner\SBW+2+15+StringWidth(gad\ShortCut)+10
            EndIf
         EndIf
      Else
         gad\ParentMenu\DH = gad\ParentMenu\DH + gad\Owner\IH
         If gad\ShortCut = ""
            If StringWidth(gad\Caption)+gad\Owner\SBW+2+15 > gad\ParentMenu\DW
               gad\ParentMenu\DW = StringWidth(gad\Caption)+gad\Owner\SBW+2+15
            EndIf
         Else
            If StringWidth(gad\Caption)+gad\Owner\SBW+2+15+StringWidth(gad\ShortCut)+10 > gad\ParentMenu\DW
               gad\ParentMenu\DW = StringWidth(gad\Caption)+gad\Owner\SBW+2+15+StringWidth(gad\ShortCut)+10
            EndIf
         EndIf
      EndIf
   Else
   ; MenuBar -->
      If gad\ParentMenu = Null
         gad\Owner\DH = gad\Owner\DH + gad\Owner\IH/2
      Else
         gad\Owner\DH = gad\Owner\DH + gad\Owner\IH/2
      EndIf
   EndIf



Ich kann das aber irgendwie nich richtig stellen. Ich denke es liegt am letzten Abschnitt:
Code: [AUSKLAPPEN]
gad\Owner\DH = gad\Owner\DH + gad\Owner\IH/2


[Edit]
Zum besseren Verständnis:

user posted image[/img]

Neue Antwort erstellen


Übersicht BlitzBasic Blitz3D

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group