int aElements[1] = {COLOR_BACKGROUND};
DWORD aNewColors[1];
aNewColors[0] = RGB(0x80, 0x00, 0x80); // dark purple
SetSysColors(1, aElements, aNewColors);
Seems to be the c way of doing things but?? I don't know C I barely know pascal lol. Anyone that could help would be very appreciated in converting that and making it perhaps so I can pass a TColor to be converted and set. But I would guess I still have to notify windows of the update.