background image

begin
ifADefault<>IsFocusedthen
begin
IsFocused:=ADefault;
Refresh;
end;
end;

//***绘制按钮***************************************************
procedureTButton1.CNDrawItem(varMessage:TWMDrawItem);
var
IsDown,IsDefault:Boolean;
ARect:TRect;
Flags:Longint;
DrawItemStruct:TDrawItemStruct;
wh:TSize;
begin
DrawItemStruct:=Message.DrawItemStruct^;
FCanvas.Handle:=DrawItemStruct.hDC;
ARect:=ClientRect;
withDrawItemStructdo
begin
IsDown:=itemStateandODS_SELECTED<>0;
IsDefault:=itemStateandODS_FOCUS<>0;
end;

Flags:=DFCS_BUTTONPUSHorDFCS_ADJUSTRECT;
ifIsDownthenFlags:=FlagsorDFCS_PUSHED;
ifDrawItemStruct.itemStateandODS_DISABLED<>0then
Flags:=FlagsorDFCS_INACTIVE;

ifIsFocusedorIsDefaultthen
begin
//按钮得到焦点时的状态绘制
FCanvas.Pen.Color:=clWindowFrame;
FCanvas.Pen.Width:=1;
FCanvas.Brush.Style:=bsClear;
FCanvas.Rectangle(ARect.Left,ARect.Top,ARect.Right,ARect.Bottom);
InflateRect(ARect,-1,-1);
end;

FCanvas.Pen.Color:=clBtnShadow;
FCanvas.Pen.Width:=1;
FCanvas.Brush.Color:=FColor;