纸牌控件的编写(下)
2006-02-04 13:47:11 来源:WEB开发网constructor TZFPlayCard.Create(AOwner: TComponent);
var
x, y: integer;
begin
inherited Create(AOwner);
FCardId := 1;
cdtInit(x, y);
SetBounds(0, 0, x, y);
ControlStyle := [csClickEvents, csDoubleClicks];
Enabled := True;
Canvas.Brush.Style := bsClear;
FGlyph := TBitMap.Create;
end;
destructor TZFPlayCard.Destroy;
begin
FGlyph.Free;
inherited;
end;
PRocedure TZFPlayCard.Paint;
begin
inherited;
ReDraw;
end;
procedure TZFPlayCard.ReDraw;
begin
cdtDraw(Canvas.Handle, 0, 0, FCardId, Ord(FCardMode), clWhite);
if FGlyph <> nil then
begin
canvas.StretchDraw(RECT(12, 11, 59, 85), FGlyph);
end;
end;
procedure TZFPlayCard.SetCardId(const Value: TCardId);
begin
FCardId := Value;
ReDraw;
end;
procedure TZFPlayCard.SetCardMode(const Value: TCardMode);
begin
FCardMode := Value;
ReDraw;
end;
procedure TZFPlayCard.SetGlyph(const Value: TBitMap);
begin
if value <> FGlyph then
begin
FGlyph.Assign(value);
Invalidate;
end;
end;
procedure TZFPlayCard.WMEraseBkgnd(var Message: TWMEraseBkgnd);
begin
Message.Result:=1;
end;
end.
更多精彩
赞助商链接