Wygląd komponentu

0

Cześć

Przypuśćmy, że napisałem komponencik wizualny i chciałbym żeby pod XP wyglądał właśnie w sytlu a'la XP. Ale nawet jeśli dodam do programu manifest to i tak mój komponent wygląda jak po Windą 98. Jak zrobić aby zrobić wygląd XP?

Dzięki za wszelką pomoc [soczek]

0

Styl XP musisz sobie sam namalować, ponieważ manifest obsługuje tylko standardowe windowsowskie komponenty, np gdybyś zrobił swój komponent na bazie np. buttona to by miał wygląd XP.

0

Przede wszystkim, manifest działa tylko pod Win XP...

0

Styl XP musisz sobie sam namalować

A może coś więcej... Nie wiem jak namalować styl XP :( (tylko od razu mówię, że wiem , że styl XP będzie widoczny tylko na XP)

0

A może coś więcej... Nie wiem jak namalować styl XP :(

chocby po kanwie. rysujesz co ci sie podoba i masz.

0

Dobra, ja też się dołączę, bo mnie też to interesuje. Wydaje mi się, że autor wie, że trzeba to rysować ręcznie po Canvasie, ale jak wykryć, że program działa na WinXP (to wiem :) ) i że są aktywne style WinXP? Nie musi to być komponent XPManifest, ale np. plik .manifest albo wpis w zasobach (bez używania komponentu)?

0

ale jak wykryć, że program działa na WinXP (to wiem :) ) i że są aktywne style WinXP?

IsThemeActive.

Ta i wiele innych funkcji (m.in rysujących fragmenty kontrolek ze stylami XP) jest opisanych na MSDN - http://msdn.microsoft.com/library/default.asp?url=/library/en-us/shellcc/platform/commctls/userex/refentry.asp :) .

0

Sorki, że odświeżam temat, ale czy w D7 są zaimportowane te funkcje, czy trzeba sobie samemu napisać modulik importowy?

// google... - ŁF

0

Jeszcze raz sorki za odświeżenie, ale jakby kogoś to zainteresowało, to funkcje są importowane w module UxTheme.pas (D7Ent na pewno). Przed wywołaniem należy wywołać funkcję InitThemeLibrary, po zakończeniu pracy - FreeThemeLibrary. Funkcje są importowane dynamicznie, więc nie ma problemu z nieobecnością biblioteki w systemie. Moduł UxTheme.pas znajduje się w katalogu %DELPHI%\Source\Rtl\Win

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