W tym scenariuszu stworzyłem domyślny przycisk w mojej aplikacji FireMonkey HD za pośrednictwem RADStudio XE2. Następnie stworzyłem własny styl dla przycisku o nazwie „Style1”. Ten styl jest bardzo podobny do domyślnego stylu przycisku, jednak zawiera kontrolkę TImage obok kontrolki TText.

Prostymi słowami: przycisk z obrazem obok tekstu.

Teraz zastosuję obraz do kontrolki TImage przycisku? Ponieważ jeśli zastosuję obraz do kontrolki TImage VIA projektanta stylu, inne kontrolki, które używają tego stylu, również otrzymają ten sam obraz.

1
user25101622 19 luty 2012, 08:58

2 odpowiedzi

Najlepsza odpowiedź

Możesz to zrobić w czasie wykonywania. najpierw musisz nazwać swój obiekt stylu TImage, na przykład. „btnimg” potem możesz go znaleźć według nazwy za pomocą FindStyleResource:

procedure LoadImage(btn : TButton; imgFileName : string);
var img : TImage;
begin
    img := btn.FindStyleResource('btnimg') as TImage;

    if not assigned(img) then exit;

    img.bitmap.LoadFromFile(imgFileName); 
end;
3
teran 19 luty 2012, 12:53

Być może zainteresuje Cię moja kontrolka TBitmapSpeedButton, która ma tę gotową funkcjonalność: http://monkeystyler.com/blog/entry/my-first -firemonkey-custom-control-tbitmapspeedbutton plus aktualizacja do załadowania obrazu z zasobu stylu: http://monkeystyler.com/blog/entry/tbitmapspeedbutton-loading -obrazy-ze-stylu

1
Mike Sutton 19 luty 2012, 13:49