If you are trying to change the image displayed, based upon the state (up, disabled, clicked, down) of TButton, then you are doing a lot of work for nothing. Use TBitBtn instead. It already has this functionality built in.
See "Glyph property (TBitBtn)" in Delphi Help.
Roo
Delphi Rules!