Piszę w C++ Builder 2007
Widziałem, jak zrobić okrągłą formatkę itp., ale ciężko znaleźć informacje o tym, jak zrobić przycisk, który będzie miał w tle obrazek, tak jak ma to miejsce w programach z obsługą skórek. Do TBitBtn można wstawić ikonę, ale chciałbym żeby przycisk zamiast normalnego "windowsowego" wyglądu miał w tle jakiś obrazek, przydałby się też efekt rollover. Jak to napisać? Może być coś z WinAPI, byle działało. Chodzi mi o najprostsze rozwiązanie, bo można oczywiście wstawić 2 TImage (tło + ikona) i na to rozciągnięty TLabel z tekstem (nie chcę, żeby tekst był elementem grafiki, ma być wstawiany oddzielnie, w innym przypadku sprawa jest prosta), ale szukam czegoś mniej złożonego.
0
0
Przycisk posiada odpowiedni styl, potem musisz np. z zasobów lub pliku załadować bitmapę i "wysłać ją na button".
Wygląda to mniej więcej tak, wersja z bitmapą w zasobach aplikacji.
HWND hPrzycisk = CreateWindowEx(0, "BUTTON", "",
WS_CHILD | WS_VISIBLE | BS_BITMAP,
5, 5,
30, 30,
okno_grafiki, (HMENU)500, hInstance, NULL);
HBITMAP hBitmapa = (HBITMAP) LoadImage(hInstance, MAKEINTRESOURCE(200), IMAGE_BITMAP,0,0, LR_CREATEDIBSECTION);
SendMessage(hPrzycisk,BM_SETIMAGE,(WPARAM)IMAGE_BITMAP,(LPARAM)hBitmapa);
W zasobach musisz mieć, oczywiście możesz dla czytelności porobić makrodefinicje.
200 BITMAP "przycisk_linie.bmp"
To by było w WinAPI, niestety w C++ Builderze nie pracuję, nie mogę pomóc.
Pozadrawiam
Mrowa.