2011-04-06 18 views
7

Po pierwsze chcę wspomnieć, że przeczytałem już wszystkie artykuły na temat SO na temat, ale nadal nie mam odpowiedzi na moje pytanie. Moje pytanie też różni się od innych.
Dziś zajrzyj do okna Skype. Na pasku tytułu znajduje się jeden dodatkowy przycisk. Ale ten przycisk działa jako przycisk systemu rodzimego. Po prostu spójrz na świecące, rozprzestrzenia się z okna. Mam więc uzasadnione pytanie. Zgodnie z tym, co widać na poniższym obrazku, istnieje standardowy sposób dodawania dodatkowego przycisku na pasku tytułu. Ale wszystkie odpowiedzi na temat subj prowadzą do zahaczenia zdarzenia WM_NCPAINT i ręcznego rysowania dodatkowego przycisku. Takie podejście jest skuteczne, ale nie może dać tak pięknego blasku, jak na zdjęciu.
Czy ktoś zna sposób dodawania standartowego przycisku na pasku tytułu okna? Z góry dziękuję!
enter image description hereJak dodać dodatkowy przycisk do paska tytułu okna, aby działał on w standardzie?

+0

myślę cały przycisk Pasek tytułowy może być niestandardowe jeden – anishMarokey

+0

@anishMarokey . Tak, mam takie samo przypuszczenie, ale jak osiągnąć takie świecące? –

Odpowiedz

3

W systemach Vista i Windows 7 jest nowa rzecz o nazwie Menedżer okien pulpitu. Służy do narysowania pasków tytułowych okna "Aero Glass" i efektów poświaty. Stare podejście do implementacji WM_NCPAINT w Windows XP nie działa z tym nowym systemem, więc musisz użyć zupełnie nowego API.

Jestem pewien, że widziałem kilka artykułów na temat tego, o co pytasz, ale nie możesz ich teraz znaleźć. Niektóre strony, które mogą dać ci kilka potencjalnych klientów są:

+0

Twój trzeci link wskazuje na to pytanie, więc domyślam się, że nie będzie to zbyt pomocne;) –

+0

Tak, trzeci link przynosi martwą pętlę w tym pytaniu :) W każdym razie dziękuję za odpowiedź, poznam wszystkie linki ostrożnie –

+1

Przepraszam, Skopiowałem z innej strony, ale musiałem utracić adres URL w tłumaczeniu. (Chociaż istnieje naprawdę świetna odpowiedź na pytanie, które łączyłem z :-) –

1

Tak, to może być (i jest niewątpliwie ) odbywa się poprzez zahaczenie WM_NCPAINT i malowanie przycisk w odpowiedzi na nią. "Rozżarzone" to tylko kwestia wybrania odpowiedniego koloru i cieniowania (i być może zrobienie odrobiny mieszania alfa, aby jakiś "blask" ukazał się blisko przycisku).

+0

Wow! Dziękuję, Jerry, za odpowiedź! Czy możesz mi doradzić, w jaki sposób mogę dowiedzieć się więcej o cieniowaniu takich rzeczy? –

+0

@Anton: Wydaje mi się, że większość drobnych rzeczy jest wykonywana ręcznie w programie Photoshop. Alternatywą byłoby stworzenie modelu 3D zakrzywionego przodu dla przycisku, renderowanie go w coś takiego jak DirectX lub OpenGL, i przechwytywanie tego, co tworzy i użycie go jako mapy bitowej do narysowania przycisku. –

Powiązane problemy