Widzę, że użytkownicy nie ogarniają powodu, dla którego wątek przeniosłem do kategorii Perełki. Dlatego też przenoszę z powrotem, dodając od siebie dwa słowa o tym, dlaczego uważam ten wątek za perełkę.
1. Rozwiązanie problemu ze szkodą dla użytkownika
Tak więc perełką jest to, że pytacz zaprojektował menu główne w taki sposób, że nie da się normalnie z niego korzystać i zamiast je przeprojektować, chce zmusić użytkownika do korzystania z programu o najbardziej podstawowym wyglądzie. Z tego co widać w poprzedniej wiadomości, nie tylko menu jest do bani.
Aplikacje desktopowe tworzy się w taki sposób, aby korzystały z systemowych ustawień. Jeśli użytkownik korzysta z kompozycji wizualnych, to aplikacje również powinny z nich korzystać – dzięki temu użytkownik pracuje w ujednoliconym środowisku, nie musząc poświęcać czasu na uczenie się obsługi odmiennych kompozycji.
Oczywiście korzystanie z tej ustawionej w systemie nie jest wymogiem – interfejs można zaprojektować po swojemu, co łatwe nie jest. Wyjątkiem jest też pokaźna grupa aplikacji, które muszą wyglądać ładnie – typowym przykładem są aplikacje prezentacyjne.
2. Złe rozwiązanie, rozwiązujące problem połowicznie
W dalszym ciągu nie zmienia to faktu, że źle zaprojektowanego interfejsu użytkownika nie naprawi się poprzez wyłączenie kompozycji. Poza tym, kompozycja nie jest jedynym czynnikiem mogącym wpływać na to menu – z innych to np. DPI czy rozdzielczość ekranu. Tak więc na każdym komputerze ten program będzie wyglądał inaczej i brak korzystania z kompozycji wizualnych niczego nie naprawi – wręcz przeciwnie.
3. Utrudnianie pracy użytkownikowi końcowemu
O tym jak wyglądają okna w systemie, decyduje każdy użytkownik z osobna. Jeśli użytkownik chce aby program wyglądał tak jak pozostałe okna, program musi na to pozwalać (czyli musi domyślnie pracować jako ostylowany). Natomiast jeżeli użytkownik będzie chciał wyłączyć kompozycje to może to zrobić dla każdej aplikacji z osobna, korzystając z indywidualnych ustawień plików wykonywalnych. Wystarczy otworzyć okno właściwości pliku wykonywalnego, odszukać w nim zakładkę dotyczącą zgodności pracy programu i zaznaczyć opcję Wyłącz kompozycje wizualne (lub podobnie nazwaną). W tym przypadku to do użytkownika należy ostatnie zdanie i nie powinno się mu tego zdania odbierać.
4. Zbędne kombinacje
Dochodząc do meritum – środowisko Delphi 7 natywnie nie obsługuje kompozycji wizualnych. Każdy utworzony w tym IDE projekt domyślnie nie będzie takich kompozycji obsługiwał – jego okna będą wyglądały tak jak te w Win98. Aby włączyć obsługę kompozycji, należy albo dołączyć w ~dowolnym miejscu moduł XPMan, albo w dowolny inny sposób dołączyć specyficzny plik manifestu do projektu (tak aby został wkompilowany do pliku wynikowego).
Brak modułu XPMan na liście to brak kompozycji. Nie ma absolutnie żadnego powodu, aby wyłączać je z poziomu kodu, skoro wystarczy po prostu nie używać tego modułu. A nawet jeśli używamy nowszego środowiska, to takie rzeczy ustawia się dwoma kliknięciami w opcjach projektu.
5. Konieczność przeprojektowania UI
Jeśli interfejs programu nie jest wygodny w obsłudze to należy wrócić do fazy projektowania – niestety. Menu główne i kontekstowe mogą być bardzo długie, a nawet jeszcze dłuższe. System bez problemu sobie z nim poradzi – użytkownik już niekoniecznie.
Jeżeli menu posiada bardzo dużo pozycji, to należy je podzielić na mniejsze grupy i albo dodać kolejne główne pozycje, albo skorzystać z submenu grupujących. Jest to powszechna praktyka, stosowana we wszystkich profesjonalnych aplikacjach, posiadających owe menu rozbudowane w sposób znaczący – pierwszymi z brzegu przykładami są duże edytory tekstowe i graficzne.