2012-01-07 14 views
10

Chciałbym mieć opcję z mojej aplikacji, aby przełączyć wyświetlanie menu głównego.Ukryj TActionMainMenuBar?

Funkcjonalności można nadal używać za pomocą paska narzędzi itp., Więc ukrycie menu nie spowoduje niczego. Ukrywanie menu to naprawdę wybór GUI dla użytkownika.

W każdym razie moje Menu Główne jest konfigurowane za pomocą TActionMenuBar i TActionManager (dla stylu XP alphablend).

Próbowałem po prostu ustawić właściwość Visible w MainMenuBar, co spowodowało ten komunikat o błędzie: "ActionMainMenuBar nie pozwala na ukrywanie."

Pomyślałem, że to trochę dziwne, podając fakt, że istnieje właściwość Widoczne. Po co miałoby to być, skoro nie mogę go zmienić?

Tak jak zwykle spodziewałem się, że będzie to prosty przypadek zmiany jednego ustawienia i voila, ale nie, myślę, że to może wymagać więcej pracy, nie wiedziałbym nawet, od czego zacząć i czego szukać.

Dziękujemy za pomysły i sugestie.

+0

To jest dobre pytanie. Sugeruję, aby zagłębić się w kod źródłowy VCL dla TActionMenuBar. –

+0

Dzięki Warren, będę musiał rzucić okiem. Jestem zainteresowany, aby zobaczyć, dlaczego istnieje właściwość widoczna, zwłaszcza jeśli nie można jej faktycznie użyć. –

+0

@Craig - Odpowiedziałem na twoje pytanie, nie potrzebujesz skrzypiec ze źródłami itp. –

Odpowiedz

8

Musisz ustawić AllowHiding na "true", zanim ustawisz Visible na "false".

+0

Dzięki za wskazanie AllowHiding, nie widziałem tego. Nie widzę powodu, dla którego potrzebna byłaby właściwość AllowHiding, która mogłaby zostać przywiązana do właściwości Visible. –

+3

@Craig - Właściwość jest dostępna na wypadek, gdyby użytkownicy mogli dostosowywać paski narzędzi. Możesz chcieć, aby użytkownicy mogli ukrywać paski narzędzi, ale nie pasek menu. –

+0

Och, rozumiem, więc wydaje mi się, że to ma sens! Sertac dziękuje za pomoc. –

0

Menu jest zwykle powiązane z formularzem głównym, więc ustawienie Form1.Menu: = nil ukryje je i Form1.Menu: = Menu główne pokaże je.

+3

Nie, nie można ustawić ActionMainMenuBar za pośrednictwem właściwości menu formularza. –