I solved it for this particular case by just editing the skin file and changing the color values for the EDIT section. It is only a small application so it is not a problem. π A really awesome solution would be: making the skin data writable at runtime so the application can change its appearance any time π (No, not loading another skin, just manipulating some bits of it)
It's possible to change an any section in the current loaded skin in run-time :
Code:
procedure TForm1.sButton1Click(Sender: TObject);
const
SectionName = 'EDIT';
var
SkinIndex : integer;
begin
SkinIndex := sSkinManager1.GetSkinIndex(SectionName);
if SkinIndex >= 0 then sSkinManager1.gd[SkinIndex].Color := clYellow;
if SkinIndex >= 0 then sSkinManager1.gd[SkinIndex].HotColor := clYellow;
sSkinManager1.RepaintForms(False);
end;
'OldGrumpy' wrote:
I solved it for this particular case by just editing the skin file and changing the color values for the EDIT section. It is only a small application so it is not a problem. π A really awesome solution would be: making the skin data writable at runtime so the application can change its appearance any time π (No, not loading another skin, just manipulating some bits of it)