Menu jak w MAC OS

0

Cześć

Muszę zrobić takie menu jak jest w Mac OS, tzn na dole jest pasek ikon, które się powiększają po najechaniu na nie. W miarę jak się myszką przesuwa po ikonach w prawo i lewo to one tak płynnie się przesuwają i zmieniają rozmiar.

Wiecie jaki jest wzór/algorytm na coś takiego?
Albo jak uzyskać podobny efekt?
Chodzi mi o resize tych ikonek względem pozycji kursora myszki.

Pozdrawiam

0

Trochę matematyki, trochę pomysłu i masz gotowy algorytm.
Masz pozycję kursora, masz pozycję ikon. Policzenie odległości to nie problem. Przeskalowanie w zależności od odległości - znowu nie problem.
A co do stałych we wzorkach (szybkosc powiekszania itd) - najlepiej metodą prób i błędów aż osiągniesz zadowalający efekt.

A skoro już wątek o macu, dodatkowo w nietuzinkowych, to spytam czy ktoś próbował zrobić kiedyś main menu w stylu mac os X? Jeden pasek na górze ekranu, przechwytuje main menu z windowsowych aplikacji :-)

0

Gdyby menu w windowsach zawsze bylo MENU to sprawa byla by trywialna, wystarczylo by przechwytywac zmiany aktywneg okna i

var
 H:THandle;
begin
 H := GetForegroundWindow();
 SetMenu(Handle,  GetMenu(H));

w pasku narzedziowy. Potem lapac komunikaty od naszego okna i wysylac je do okna do ktorego nalezalo menu.

Niestety MENU bylo tylko do 95 bez IE, pozniej juz jest wolna amerykanka

  1. MENU ... (proste da sie zrobic)

  2. kontrolki z dokujacym menu (Active Accessibility) ... (da sie zrobic)

  3. Owner draw menu (nawet jesli menu, trzeba by sie jakos sprytnie podpiac do okna ... da sie zrobic hookami)

  4. gorna belka malowana + popupmenu ... (watpie aby dalo sie zrobic)

  5. wszystko samemu rysowane ... (nie da sie)

//--------------------------------------------------------------------------------------------------------
i aby nie byl moj post pelnym OT

http://www.codeproject.com/KB/menus/cstoolbar1.aspx?df=100&forumid=16457&exp=0&select=581142

moze nie jest to takie cool, jakbys chcial ale na poczatek i do rozwoju jak najlepsze (nie pisales jaki jezyk)

0

Moze sie przydac jako przyklad:
http://rocketdock.com/

1 użytkowników online, w tym zalogowanych: 0, gości: 1