纸牌控件的编写(下)

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.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值