Ich habe mit FMX noch keine Erfahrung. Ich möchte ein Memo-Feld mit der gleichen Hintergrundfarbe wie das Formular darstellen.
Der einzige Weg den ich gefunden habe ist über das
OnApplyStyleLookup
-Event:
Delphi-Quellcode:
procedure TTextBox.MemoApplyStyleLookup(Sender: TObject);
var
styleObj: TActiveStyleObject;
begin
styleObj := (Sender as TControl).FindStyleResource('background') as TActiveStyleObject;
if not Assigned(memoStyleSource) then
memoStyleSource := styleObj.Source;
if isReadOnly then
styleObj.Source := nil
else
styleObj.Source := memoStyleSource;
end;
Da mir niemand garantiert dass Embarcadero z.B. "background" eines Tages nicht mal umbenennt wollte ich einen Test dafür schreiben. Wenn ich in einem
DUnit-Testprogramm ein
FMX.Memo.TMemo
erstelle liefert
FindStyleResource(..)
nach dem Erstellen des Memos immer
nil
. Ich kann das Ding auch repainten wie ich will, das
OnApplyStyleLookup
wird nie aufgerufen.
Wie kann ich das richtig testen?