ok do it in your way.
I would like to do it but it tells me << Unit1.pas(2581,20) Error: Identifier not found "FMouseStage" >>
You can't modify TBGRAButton disabled state if you don't modify the ConvertToGrayScale(ABGRA: TBGRABitmap); procedure. In order to modify the procedure you have two ways:
* Create a new component. (For example creating a TCustomBGRAControl).
* Modify the existing component. (Editing the bgraimagebutton.pas).
If none of those ways are the thing you want you can try to use 'OnAfterPrepareBGRAButton', this allow to modify the bitmap when it needs to be updated (like OnPaint event of a form):
procedure TForm1.BGRAButton1AfterPrepareBGRAButton(Sender: TObject;
const ABGRA: TBGRABitmap; ARect: TRect; AState: TBGRAButtonState);
begin
if not BGRAButton1.Enabled then
ABGRA.ApplyGlobalOpacity(100);
end;