2013-07-31 22 views
7

Stworzyłem proste okno przy użyciu Win32 API z C++. Okno wygląda dobrze, jednak nie ma w nim stylu, a zatem wszystkie przyciski i tym podobne okna pojawiają się w Windows 95/Me Style, przeciwstawiając się nowoczesnemu wyglądowi systemu Windows 7. Jak mogę uzyskać ten nowoczesny wygląd?Jak sprawić, by okno wyglądało bardziej nowocześnie

Próbowałem używać metod xml podanych w tej dokumentacji (http://msdn.microsoft.com/en-us/library/windows/desktop/bb773175%28v=vs.85%29.aspx) microsoft, ale program się nie kompiluje. Wierzę, że tak jest, ponieważ używam kompilatora MinGW jako przeciwstawiającego się kompilatorowi VC++, ale mogę się mylić. Ponadto próbuję teraz funkcji SetWindowTheme, ale nie jestem pewien, jak to działa i jak dołączyć.

Kilka uwag, które mogą być przyczyną problemu:

  • Nie używam żadnych IDE, Just makefile
  • Używam MinGW Compiler
+4

Powinieneś być w stanie zrobić samodzielny manifest. Sprawdź [Manifesty aplikacji] (http://msdn.microsoft.com/en-us/library/windows/desktop/aa374191 (v = vs.85) .aspx), aw szczególności sekcję ** Nazwy plików **. Ponadto, dlaczego używasz MinGW zamiast uzyskać wersję Express Visual C++ z [Microsoft] (http://www.microsoft.com/visualstudio/eng/products/visual-studio-express-products)? –

+1

@NikBougalis Chociaż mam wrażenie, że jest to nieistotne, istnieje wiele powodów, dla których warto wybrać GCC przez MinGW ponad VC++. Jest ich 19 na tej stronie: http://cpprocks.com/c11-compiler-support-shootout-visual-studio-gcc-clang-intel/ –

+0

@pwny Fair point, kinda. Ale CTP 2012 jest prawie * starożytny *. –

Odpowiedz

3

Plik manifestu musi być włączony jako zasób w twoim pliku wykonywalnym. To coś, co VS robi prawie automatycznie dla ciebie; można to zrobić także z MinGW, jest po prostu nieco bardziej skomplikowany. Spójrz na this tutorial, w sekcji "Włączanie stylów wizualnych".

Mimo że samouczek przedstawia wygląd winxp, nie martw się; Po włączeniu stylów wizualnych będą one wyświetlane jako natywny motyw komputera.

Powiązane problemy