Własne ikony na paskach i w menu


Pablo
 Share

Recommended Posts

Witam

1) W jakiej postaci powinny być ikony, aby ładnie się integrowały z różnymi skórkami? Tradycyjnie mam ikony w BMP (Plik .mnu ma nazwy do ikonek w BMP). Ale wówczas tło ikon (jakieś szare) powoduje, że ikony na pasku wyróżniają się z tła ZWCADa.

BMP nie obsługuje przeźroczystości, tak więc nie mogę zostawić tylko grafiki z ikony i liczyć, że wypełni je pasek ZWCAD.

2) W menu górnym wogole nie ma ikon. Tutaj pytanie jak je dodać? Jakiś przykładowy plik .mnu?

Link to comment
Share on other sites

Kiedyś też miałem taki problem, chyba w wersji 2008 albo jakiejś wczesnej 2009. Nie udało mi się tego zrozumieć, ale udało się rozwiązać. :)

Aby móc Panu pomóc, potrzebowałbym kilku informacji

1. Jaką Pan ma wersję? polecenie vernum?

2. Proszę o przykładową ikonkę, podejrzewam, że problem może powodować np zapis w formacie 256 kolorowy, ale dla pewności wolałbym to zobaczyć.

- Proszę przedstawić więcej szczegółów odnośnie pytania 2:

Jak dokładnie to wygląda? Nie ma wogóle żadnych ikon?

Po wykonaniu jakiej operacji to się stało?

Może podeśle Pan jakiegoś screena przedstawiającego co chciałby Pan mieć a co Pan ma?

Link to comment
Share on other sites

A już wiem o co chodzi. To zupełnie coś innego niż przypadek z którym się zetknąłem.

To może od początku:

Żeby stworzyć menu należy utworzyć plik tekstowy, nadać mu rozszerzenie mnu. W tym pliku piszemy:

***MENUGROUP=NaszaNazwaGrupy

Grupa może zawierać paski menu w formie serii ikonek, oraz menu rozwijalnego jak Plik, Edycja Widok, Wstaw itd.

Ikonki na paskach, to żaden problem. Wystarczy w pliku menu wpisać takie coś:

***TOOLBARS Oznacza, że zaczynamy definiować paski ikonek.
**NazwaPaska
ID_Lin [_Button("Rysuj linię", "Line16.bmp", "Line32.bmp")]^C^C_line

Ta ostatnia linia może być powtarzana wielokrotnie dla każdej

Gdzie:

- ID_Lin to identyfikator wpisu w pliku menu. Jeden identywfikator dla jednej pozycji w menu. Identyfikatory chyba nie mogą się powtarzać wiele razy w tym samym menu

- _Button oznacza że element, który dodajemy to przycisk, najczęściej to wystarcza, może być jeszcze np _Flyout wtedy dodajemy pasek do paska. Innych przypadków nie pamiętam.

- "Rysuj linię" to jest komunikat, jaki pojawia się przy wskaźniku myszki po najechaniu na ikonkę

- "Line16.bmp" to nazwa pliku ikonki, którą chcemy zastosować, musi ona się znajdować w katalogu widzianym przez ZWCADa, lub w tym samym co plik MNU.

- "Line32.bmp" nazwa ikonki. występuje drugi raz bo w zależności czy menu jest w formie ikonek o rozmiarze 16x16 czy 32x32 wyświetlane mogą być różne ikonki. Można też ustawić dwukrotnie tą samą ikonkę.

- ^C^C to jest znaczek kończący aktualne polecenie. Zazwyczaj się to daje, ale nie jest konieczne.

- _Line nawa polecenia które ma być wykonane po wciśnięciu ikonki.

No to tak z grubsza na tyle byłoby jak chodzi o pozycje na paskach. Więcej szczegółów opisane jest na stronie:afralisp

żeby definiować menu rozwijalne należy zrobić posłużyć się takim przykładem:

***POP1
P1-1[&PrzykładoweMenu]
P1-2[&Ustawienia]^C^C_Settings
P1-3[->&E]
P1-4[<-&Kółko]^C^C_circle
P1-5[<-&Czyść wszysko]^C^C-purge;a;;n
P1-6[<-&Linia]^C^C_Line

Gdzie:

- ***POP1 oznacza że ma się nasze menu zintegrować z głównym menu programu, właśnie tam, gdzie jest Plik, Edycja itp

- P1-1 - Identyfikator pozycji, nie powinien się powtarzać

- Nazwa w [] to treść, jaka będzie się wyświetlała w menu

- & Litera, którą poprzedzimy tym znakiem będzie czymś w rodzaju skrótu, Jeśli wciśniemy chyba [ALT] albo [CTRL] i tą literę wywołane zostanie polecenie. Czyli dzięki temu możemy używać rozwijanego menu bez myszki

-> oznacza, że zaczynamy nowe "podmenu" tak jak jest np standardowo w menu rysuj,łuk wyświetla się takie boczne menu o dodatkowymi pogrupowanymi poleceniami.

Ostatnie polecenie w danej grupie "podmenu" musi mieć znaczek <-

Rozumiem, że chodzi Panu o dodawanie ikonek do rozwijalnego menu i tu się rodzi problem

W wersji 2010 nie ma takiej możliwości. Będzie ona w wersji 2011. Ale jeszcze nie wiem jak to ustawić.

Skoro już jesteśmy przy temacie menu, to warto zauważyć, że pod ikonkami można sobie ustawić całą sekwencję poleceń i opcji. Jak w powyższym przykłądzie z purge. Jest wywołane poleceni purge, ale są od razu ustawione opcje że ma czyścić wszystko, nie potwierdzać każdej opcji. Istnieje też możliwość ustawienia pod menu funkcji LISP, nawet jeśli nie są zdefiniowane jako polecenia.

P.S.

Pisane z głowy czyli z niczego, mogą być błędy i nieprawda :)

Link to comment
Share on other sites

2) W menu górnym wogole nie ma ikon. Tutaj pytanie jak je dodać? Jakiś przykładowy plik .mnu?
Rozumiem, że chodzi Panu o dodawanie ikonek do rozwijalnego menu i tu się rodzi problem. W wersji 2010 nie ma takiej możliwości.

Dokładnie o to zapewne chodziło.

Też spotkałem się z tym problemem, więc na bieżąco śledziłem temat.

Pozostałe informacje są prawidłowe.

Link to comment
Share on other sites

A proszę to tło ustawić na białe zamiast szarego. A i ona jest w formacie 32x32 jeśli w ustawieniach jest, że ikonki są 16x16 czyli wartość domyślna, to ikonka nie będzie przeskalowana tylko obcięta w połowie a w zasadzie to w ćwiartce, widoczna będzie lewa górna ćwiartka.

Link to comment
Share on other sites

  • 4 weeks later...

Znalazłem mały błąd z Zwcadzie.

Jak tworzymy paski zadań to możemy poszczególne ikony lub grupy ikon rozdzielać taka linią:

[--]

dzięki temu między ikonkami pojawia się cienki pasek rozdzielający ikonki. Błąd polega na tym że jak pasek z ikonkami jest wyświetlany pionowo (dociągnięty do lewej lub prawej strony ekranu) to te kreseczki są widoczne, Jeżeli pasek wyświetlamy poziomo to kreseczki nie są widoczne.

Nie jest to może wielki błąd ale w znanym programie konkurencji działa to inaczej.

Link to comment
Share on other sites

Temat trochę się rozbudował, co mnie bardzo cieszy.

Podsumowując powyższy wątek:

1) dopiero w ZWCAD2011 ikony są wstawiane w menu górnym,

2) warunkiem powyższego jest oczywiście nazwa polecenia w menu taka sama jaka występuje w pasku z poleceniami,

***MENUGROUP=nazwa_grupy_menu

***POP1

[nazwa_menu]

[Polecenie1 PO1]^c^cpo1

***TOOLBARS

**nazwa_paska_polecen

ID_1 [_Toolbar("nazwa_paska", _Floating, _Show, 200, 200, 1)]

ID_2 [_Button("Polecenie1", ikona_po1.bmp, ikona_po1.bmp)]^c^cpo1

3) nazwa ikony nie ma znaczenia,

4) w przypadku zakończenia linii polecenia w menugroup znakiem ; ikona nie zostanie dodana w menu górnym, np wpis poniższy jest błędny:

***MENUGROUP=nazwa_grupy_menu

***POP1

[nazwa_menu]

[Polecenie1 PO1]^c^cpo1;

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
 Share