1、先选择需要显示并切换的主题样式(软件自带的)也可以自定义在程序中加入也会自动扫描出现
2.在视图模式下加入 TMenuItem控件(本示例命名为:mmTMain)
3 在.h文件中 加入到public属性中
System::DynamicArray<System::UnicodeString> styleNames; // 记录当前所以主题样式名称
void __fastcall StyleItemClick(TObject *Sender); //将每一个组题样式的点击切换时间普适化
4.在.cpp文件中加入
void __fastcall TForm3::FormCreate(TObject *Sender)
{
styleNames = TStyleManager::StyleNames; //获取所有主题样式
for(int i =0 ; i < styleNames.Length ; i++)
{
TMenuItem *subMenuItem = new TMenuItem(mmTMain);
subMenuItem->Caption = styleNames[i];
subMenuItem->Tag =i;
subMenuItem->OnClick = StyleItemClick;
Style->Add(subMenuItem);//加入到主题子菜单中
}
}
//---------------------------------------------------------------------------
void __fastcall TForm3::StyleItemClick(TObject *Sender)
{
TMenuItem *menuItem = dynamic_cast<TMenuItem*>(Sender); // 强制转换为TMenuItem类型(平时运用时一定要保证转换前是同一类型的控件)
if(menuItem != nullptr)
{
TStyleManager ::TrySetStyle(styleNames[menuItem->Tag]); //设置相应主题样式
}
}
切换某一主题样式后
如果有更多好的方法,欢迎大家在评论区进行科普!!!