2-3-2 Endre Style Ved Runtime

En bloggpost av Sarina DuPont (19 Jan 2016) viser et eksempel i Delphi (Pascal). Dette eksemplet er så oversatt til C++ av David Millington (13 Jul 2017). Disse to skal ha æren av denne løsningen 🙂

Et lite testprogram: En Form med 2 Stylebook og 1 TComboBox.

VIKTIG:

Du MÅ bruke samme navn begge steder på stilbøkene. Disse navnene legges nemlig inn i Comboboksen!

I tillegg skal du legge inn følgende 2 funksjoner:

void __fastcall TForm1::FormCreate(TObject Sender) { EnumObjects([this](TFmxObject Obj) -> TEnumProcResult {
TStyleBook* pBook(dynamic_cast(Obj));
if (pBook) {
int Index = this->StyleBox->Items->Add(pBook->Name);
StyleBox->ListItems[Index]->Data = Obj;
}
return TEnumProcResult::Continue;
});

}
//—————————————————————————
void __fastcall TForm1::StyleBoxChange(TObject Sender) { if (StyleBox->ItemIndex >= 0) { StyleBook = (TStyleBook)(StyleBox->ListItems[StyleBox->ItemIndex]->Data);
}
}

Dette funker rett ut av boksen: