Seite 1 von 2

MenuBar - Separator/Divider entfernen

Verfasst: 01.08.2012 13:43
von Lambda
Zwischen Menüleiste und Fensterinhalt wird eine Trennlinie dargestellt die ich zuvor noch garnicht bemerkt hatte.

Kann diese durch ändern der Styles entfernt werden?

lg

Re: MenuBar - Separator/Devider entfernen

Verfasst: 01.08.2012 14:15
von RSBasic
@cOoki3druqs
Du kannst das Menü in einem ContainerGadget setparen, also mit SetParent. Du brauchst nur anschließend die Höhe des Menüs ermitteln und etwas verringern, so dass die Trennlinie nicht mehr sichtbar ist.

Re: MenuBar - Separator/Devider entfernen

Verfasst: 01.08.2012 20:09
von Lambda
Die Idee ist gut, nur leider will das Menü da nicht sein. :freak:

Der Container bleibt unterhalb des Menüs und das Menü selbst da wo es immer ist.

Code: Alles auswählen

SetParent_(MenuID(#..), GadgetID(#Container...)) 
hat leider keinen Effekt. Eine "elegantere" Methode wär narülich noch schöner. ^^ Kann dieser Devider nicht entfernt werden?

Re: MenuBar - Separator/Devider entfernen

Verfasst: 01.08.2012 20:17
von RSBasic
http://www.rsbasic.de/aktualisierung/wi ... chieben.pb

Noch ne kleine Zusatzfrage: Wann entsteht diese Trennlinie? Wenn du eine ToolBar erstellt hast oder ist sie von Anfang an da?

Re: MenuBar - Separator/Devider entfernen

Verfasst: 01.08.2012 20:43
von Lambda
Von Anfang an, ToolBar hatte ich bereits geprüft, aber bei dieser wird der Devider entfernt.

Genau die letztige Lösung hatte ich bereits gefunden. ^^ Aber das ist leider etwas zu provisorisch und das Fenster verliert auch den Fokus.

Das Menü ist selbstgezeichnet, aber der Devider scheint nicht im Bereich des Menüs zu liegen und wird auch durch überzeichnen beim nächsten Repaint wieder freigelegt. :|

Re: MenuBar - Separator/Devider entfernen

Verfasst: 01.08.2012 20:51
von RSBasic
Welches Betriebssystem verwendest du? XP? Mit aktivem Skin (wenn ja, welches Design?) oder klassisch?
Was meinst du mit "Menü ist selbstgezeichnet"?
Kannst du mal einen vollständigen Screenshot vom folgenden Fenster erstellen?

Code: Alles auswählen

If OpenWindow(0, 0, 0, 200, 100, "Window", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
  If CreateMenu(1, WindowID(0))
    MenuTitle("Datei")
    MenuTitle("Bearbeiten")
    MenuTitle("Ansicht")
    MenuTitle("Hilfe")
  EndIf
  
  Repeat : Until WaitWindowEvent() = #PB_Event_CloseWindow
EndIf
Einfach so, damit ich das komplett sehen und nachvollziehen kann.

Re: MenuBar - Separator/Devider entfernen

Verfasst: 01.08.2012 22:13
von Lambda
Windows 7 mit Aero. XP-Skin aktiv.

Aber Betriebssystem ist scheinbar wurscht, da ich es auf XP (vPC) getestet hab und zum selben Ergebnis komm.


Verwende ein etwas modifizierten Code. Vielleicht könnte man die Linie doch überzeichnen. :|

Re: MenuBar - Separator/Devider entfernen

Verfasst: 01.08.2012 22:54
von RSBasic
Also bei mir sieht es mit dem von dir verlinkten Code so aus:
Bild

Da gibt es keine Trennlinie.
Wenn ich ein normales Menü erstelle, dann sieht es so aus:
Bild

Da gibt es zwar diese Trennlinie, aber das Menü sieht ganz anders aus, als das Menü in deinem Screenshot.

Re: MenuBar - Separator/Devider entfernen

Verfasst: 01.08.2012 23:03
von Lambda
Doch, im ersten Beispiel exisitert diese Linie. Die ist nur erst sichtbar wenn Menü und Fensterfarbe geändert sind da diese den 3DFACE Wert hat.

Versuch mal die Farben im ersten Beispiel zu ändern, dann siehst du sie. ^^

Re: MenuBar - Separator/Divider entfernen

Verfasst: 11.08.2012 18:48
von Lambda
Ich wollte nur nochmal darauf hinweisen dass das Problem immernoch besteht. :D