Wow, I was looking at the wsprintf(), I had a hard time understanding what was going on here:
Code:
#%.6X R:%.3i G:%.3i B:%.3i

But I think I finally got it. I wasn't following the ". number system" but that's the amount of characters for the color which makes sense since the hex value is 6 alpha numeric characters and the RGB values are 3. Yay I learned something.

Code:

Code:
FormatColor(0);

Hmm why are you passing 0 here? I'm assuming 0 = black :S (this is in reference to wm_create).

I will try this out at home and see how it looks. Nice job.
BTW, is the while loop what's effing it up from working for me? I feel soooo stupid :P But damn I was close.