亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? bmpclock.pas

?? 一個漂亮的時鐘源碼
?? PAS
?? 第 1 頁 / 共 2 頁
字號:
    if FMinuteHandEnabled then begin
      DrawHand(MinuteHand.Radius, MinuteHand.BackRadius, MinuteHand.Width, MinuteHand.Color, FCurAngle);
    end;

      {---------畫出秒針-----------}
    FCurAngle := 2 * Pi * S / 60;
    if FSecondHandEnabled then begin
      DrawHand(SecondHand.Radius, SecondHand.BackRadius, SecondHand.Width, SecondHand.Color, FCurAngle);
    end;

      {---------畫中心點-----------}
    if FCenterPoint then begin
      Drawponit(CenterMark.FPointSize, CenterMark.FPenSize, CenterMark.FFillColor, CenterMark.FPenColor);
    end;

  end; {with}
  Self.Canvas.Draw(0, 0, WorkImage); //將結果畫到前臺

  if (FoldWidth <> Width) or (FoldHeight <> Height) then begin //大小改變時,重畫形狀;
    FoldWidth := Width;
    FoldHeight := Height;
    StyleChanged;
  end;
end;

{===================自定義背景位圖======================}

procedure TBmpClock.SetPicture(Value: TPicture);
begin
  if not (Value.Graphic.Empty) then begin
    FPicture.Assign(value);
    Width := FPicture.Width;
    Height := FPicture.Height;
    Repaint;
  end;
end;

{====================設置背景透明=======================}

procedure TBmpClock.SetTransParent(Value: Boolean);
begin
  if Value <> FTransparent then begin
    FTransparent := Value;
    Repaint;
  end;
end;

{====================設置背景透明的顏色=================}

procedure TBmpClock.SetTransParentColor(Value: TColor);
begin
  if Value <> FTransParentColor then begin
    FTransParentColor := Value;
    Repaint;
  end;
end;

{=====================設置時鐘計時周期==================}

procedure TBmpClock.SetInterval(Value: Word);
begin
  if Value <> FInterval then begin
    FInterval := Value;
    FStepTime.Interval := FInterval;
    Repaint;
  end;
end;

{======================啟動時鐘計時=====================}

procedure TBmpClock.SetActive(Value: Boolean);
begin
  if Value <> Active then begin
    FInterActive := Value;
    FStepTime.Enabled := FInterActive;
    Repaint;
  end;
end;

{======================更改啟用屬性=====================}

procedure TBmpClock.CmEnabledChanged(var message: TWMNoParams);
begin
  inherited;
  FStepTime.Enabled := Self.Enabled;
  FInterActive := Self.Enabled;
  Repaint;
end;

{=======================版本信息(唯讀屬性)============}

procedure TBmpClock.VersionMark(Value: string);
var
  s: string;
begin
  s := 'BmpClock V3.0 版權所有(C) 2003-2005 小帆工作室';
  if Value <> FVerInfo then begin
    MessageBox(HANDLE, PChar(s),
      '關于 BmpClock V3.0', MB_OK + MB_ICONINFORMATION);
    FVerInfo := s;
  end;
end;

{===================設置自動中心========================}

procedure TBmpClock.SetAutoCenter(Value: Boolean);
begin
  if Value <> FAutoCenter then
  begin
    if Value then
    begin
      with FCenter do
      begin
        X := Width div 2;
        Y := Height div 2;
      end;
    end;
    FAutoCenter := Value;
    Repaint;
  end;
end;

{========================使用純顏色背景=================}

procedure TBmpClock.SetBgStyle(Value: TBgStyle);
begin
  if Value <> FColorOrBmp then begin
    FColorOrBmp := Value;
    Repaint;
  end;
end;

{=====================設置背景顏色======================}

procedure TBmpClock.SetBgColor(Value: TColor);
begin
  if Value <> FBgUseColor then begin
    FBgUseColor := Value;
    Repaint;
  end;
end;

{======================設置中心點=======================}

procedure TBmpClock.SetCenterPoint(Value: Boolean);
begin
  if Value <> FCenterPoint then begin
    FCenterPoint := Value;
    Repaint;
  end;
end;

{================指針算法 (核心代碼 I )================}

procedure TBmpClock.DrawHand(Radius, BackRadius, HandWidth: Integer; HandColor: TColor; Angle: Real);
var
  X, Y, Xh, Yh, Xb, Yb, FXCenter, FYCenter: Integer;
begin
  {---------定義中心-----------}
  if FAutoCenter then begin
    FXCenter := Width div 2;
    FYCenter := Height div 2
  end
  else begin
    FXCenter := FCenter.FX;
    FYCenter := FCenter.FY;
  end;

  with WorkImage.Canvas do begin
    Pen.Width := HandWidth;
    Pen.Color := HandColor;

    Angle := FCurAngle; //取得當前指針角度

    Y := Round(FYCenter - Radius * cos(Angle));
    X := Round(FXCenter + Radius * sin(Angle));
    Yb := Round(FYCenter + BackRadius * cos(Angle));
    Xb := Round(FXCenter - BackRadius * sin(Angle));
    Yh := Round(FYCenter - BackRadius * cos(Angle));
    Xh := Round(FXCenter + BackRadius * sin(Angle));

    if FHoleRound then begin
      MoveTo(Xh, Yh);
      LineTo(X, Y);
    end
    else begin
      MoveTo(Xb, Yb);
      LineTo(X, Y); //畫時鐘指針;
    end;
  end;
end;

procedure TBmpClock.SetHoleRound(Value: Boolean);
begin
  if Value <> FHoleRound then
  begin
    FHoleRound := Value;
    Repaint;
  end;
end;

{====================畫中心點過程=======================}

procedure TBmpClock.DrawPonit(PointSize, PenSize: Integer; FillColor, PenColor: TColor);
var
  FXCenter, FYCenter: Integer;
begin
  if FAutoCenter then begin
    FXCenter := Width div 2;
    FYCenter := Height div 2
  end
  else begin
    FXCenter := FCenter.FX;
    FYCenter := FCenter.FY;
  end;
  with WorkImage.Canvas do begin
    Pen.Width := PenSize;
    Pen.Color := PenColor;
    Brush.Color := FillColor;
    RoundRect((FXCenter) - PointSize, (FYCenter) - PointSize, (FXCenter) + PointSize, (FYCenter) + PointSize, Width, Height);
  end;
end;

{====================是否啟用時針=======================}

procedure TBmpClock.SetHourHandEnabled(Value: Boolean);
begin
  if Value <> FHourHandEnabled then begin
    FHourHandEnabled := Value;
    Repaint;
  end;
end;

{=====================是否啟用分針======================}

procedure TBmpClock.SetMinuteHandEnabled(Value: Boolean);
begin
  if Value <> FMinuteHandEnabled then begin
    FMinuteHandEnabled := Value;
    Repaint;
  end;
end;

{====================是否啟用秒針=======================}

procedure TBmpClock.SetSecondHandEnabled(Value: Boolean);
begin
  if Value <> FSecondHandEnabled then begin
    FSecondHandEnabled := Value;
    Repaint;
  end;
end;

{====================設置背景圖效果=====================}

procedure TBmpClock.SetPictureStyle(Value: TPictureStyle);
begin
  if Value <> FPictureStyle then begin
    FPictureStyle := Value;
    Repaint;
  end;
end;

{====================設置控件外形=======================}

procedure TBmpClock.SetThemeStyle(Value: TThemeStyle);
begin
  if value <> FThemeStyle then
  begin
    FThemeStyle := Value;
    StyleChanged;
  end;
end;

{=================設置圓角 X============================}

procedure TBmpClock.SetRoundX(Value: Integer);
begin
  if Value <> FRoundX then
  begin
    FRoundX := Value;
    StyleChanged;
  end;
end;

{===================設置圓角 Y==========================}

procedure TBmpClock.SetRoundY(Value: Integer);
begin
  if Value <> FRoundY then
  begin
    FRoundY := Value;
    StyleChanged;
  end;
end;

{=================設置形狀過程==========================}

procedure TBmpClock.StyleChanged;
var
  HT: THandle;
begin
  HT := CreateRectRgn(0, 0, Width, Height);
  case FThemeStyle of
    tsNone:
      begin
        HT := CreateRectRgn(0, 0, Width, Height);
      end;
    tsCircle:
      begin
        HT := CreateEllipticRgn(0, 0, Width, Height);
      end;
    tsRoundRect:
      begin
        HT := CreateRoundRectRgn(0, 0, Width, Height, FRoundX, FRoundY);
      end;
  end;
  SetWindowRgn(Handle, HT, True);
  Repaint;
end;

//***********************************開始 TCenter*******************************
{=======================構造 中心=======================}

constructor TCenter.Create;
begin
  inherited Create;
  FX := 50;
  FY := 50;
end;

{===================設置中心的 X 坐標===================}

procedure TCenter.SetX(Value: Integer);
begin
  if Value <> FX then
  begin
    FX := Value;
    UpdateParent;
  end;
end;

{===================設置中心的 Y 坐標===================}

procedure TCenter.SetY(Value: Integer);
begin
  if Value <> FY then
  begin
    FY := Value;
    UpdateParent;
  end;
end;

{======================刷新父控件=======================}

procedure TCenter.UpdateParent;
begin
  Parent.Repaint;
end;

//*******************************開始 THand ************************************

{======================建立指針==========================}

constructor THand.Create;
begin
  inherited Create;
end;

{====================更改屬性后,刷新父控件==============}

procedure THand.UpdateParent;
begin
  Parent.RePaint;
end;

{===================設置指針正向長度=====================}

procedure THand.SetRadius(Value: integer);
begin
  if Value <> FRadius then
  begin
    FRadius := Value;
    UpdateParent;
  end;
end;

{===================設置指針反向長度=====================}

procedure THand.SetBackRadius(Value: integer);
begin
  if Value <> FBackRadius then
  begin
    FBackRadius := Value;
    UpdateParent;
  end;
end;

{===================設置指針寬度=========================}

procedure THand.SetWidth(Value: integer);
begin
  if Value <> FWidth then
  begin
    FWidth := Value;
    UpdateParent;
  end;
end;

{===================設置指針顏色=========================}

procedure THand.SetColor(Value: TColor);
begin
  if Value <> FColor then
  begin
    FColor := Value;
    UpdateParent;
  end;
end;

//*****************************開始 TCenterPoint *******************************
{======================建立中心點========================}

constructor TCenterPoint.Create;
begin
  inherited Create;
  FPointSize := 4;
  FPenSize := 1;
  FFillColor := clBlack;
  FPenColor := clWhite;
end;

{========================中心點大小======================}

procedure TCenterPoint.SetPonitSize(Value: Integer);
begin
  if Value <> FPointSize then
  begin
    FPointSize := Value;
    UpdateParent;
  end;
end;

{=======================邊緣圓圈大小=====================}

procedure TCenterPoint.SetPenSize(Value: Integer);
begin
  if Value <> FPenSize then
  begin
    FPenSize := Value;
    UpdateParent;
  end;
end;

{=====================設置邊緣圓圈顏色===================}

procedure TCenterPoint.SetPenColor(Value: TColor);
begin
  if Value <> FPenColor then
  begin
    FPenColor := Value;
    UpdateParent;
  end;
end;

{=======================設置填充顏色=====================}

procedure TCenterPoint.SetFillColor(Value: TColor);
begin
  if Value <> FFillColor then
  begin
    FFillColor := Value;
    UpdateParent;
  end;
end;

{==================設置中心屬性后刷新父控件==============}

procedure TCenterPoint.UpdateParent;
begin
  Parent.Repaint;
end;

{=====================注冊組件===========================}

procedure Register;
begin
  RegisterComponents('Samples', [TBmpClock]);
end;

end.

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品久久久久久久久免费樱桃 | 国产91精品在线观看| 婷婷综合久久一区二区三区| 艳妇臀荡乳欲伦亚洲一区| 精品国产sm最大网站免费看| 制服丝袜成人动漫| 欧美一卡在线观看| 日韩午夜激情免费电影| 欧美一区二区视频在线观看 | 免费亚洲电影在线| 久久精品二区亚洲w码| 麻豆91在线观看| 国产一区二区三区最好精华液| 精品在线亚洲视频| 麻豆国产欧美一区二区三区| 久久精品国产网站| 国产精品18久久久久久vr| 国产99久久久国产精品潘金网站| aaa欧美大片| 欧美日韩三级一区二区| 欧美一卡二卡在线观看| 国产清纯美女被跳蛋高潮一区二区久久w| 久久九九99视频| 亚洲综合一二区| 日韩影院免费视频| 国产精品自拍av| 在线精品视频免费观看| 欧美大胆人体bbbb| 国产精品萝li| 日韩精品1区2区3区| 国产精品一区二区不卡| 欧美亚日韩国产aⅴ精品中极品| 日韩精品一区在线| 日韩毛片在线免费观看| 久久精品国产亚洲高清剧情介绍| 99精品黄色片免费大全| 91精品中文字幕一区二区三区| 久久午夜电影网| 亚洲国产成人av网| 国产a久久麻豆| 911精品产国品一二三产区| 久久色在线观看| 午夜视频一区在线观看| 99re6这里只有精品视频在线观看 99re8在线精品视频免费播放 | 国产v综合v亚洲欧| 欧美日韩国产精品自在自线| 国产精品天干天干在观线| 天天亚洲美女在线视频| 成人黄色av电影| 久久综合五月天婷婷伊人| 亚洲18色成人| 91色乱码一区二区三区| 欧美不卡一区二区| 天天综合网 天天综合色| 91在线精品一区二区三区| 久久亚洲综合色一区二区三区| 天天av天天翘天天综合网| 国产剧情一区二区| 欧美精品成人一区二区三区四区| 国产精品久久久久久久久久久免费看 | 成人激情图片网| 精品成人在线观看| 亚洲一区二区三区四区不卡| 成人国产亚洲欧美成人综合网| 精品国产一区二区三区久久久蜜月 | 中文乱码免费一区二区| 久久激情综合网| 91精品免费观看| 亚洲成av人片在线观看无码| 在线欧美日韩国产| 一区二区视频在线| 99精品久久久久久| 亚洲视频资源在线| 成人app在线观看| 中文字幕精品三区| 大胆亚洲人体视频| 国产精品嫩草影院com| 国产成人高清视频| 国产片一区二区三区| 成人一区在线观看| 亚洲欧洲www| 色综合av在线| 亚洲bt欧美bt精品| 日韩一级在线观看| 精品一二三四区| 国产亚洲美州欧州综合国| 国产乱色国产精品免费视频| 国产婷婷色一区二区三区四区| 国产成人超碰人人澡人人澡| 中文乱码免费一区二区 | 一区二区三区国产精品| 色婷婷综合久久久中文一区二区| 一区二区三区精品视频在线| 欧美日韩1区2区| 麻豆91精品91久久久的内涵| 久久久亚洲精品一区二区三区| 成人高清视频免费观看| 亚洲综合一区二区三区| 日韩亚洲欧美综合| 国产成人欧美日韩在线电影| 亚洲精品免费在线播放| 日韩三级视频在线观看| 国产成人免费视频| 亚洲综合久久久久| 精品久久久影院| 色婷婷激情一区二区三区| 免费视频一区二区| 综合在线观看色| 欧美一二三区在线| 波多野结衣中文一区| 午夜视黄欧洲亚洲| 国产欧美一区二区精品秋霞影院 | 久久国产欧美日韩精品| 国产精品视频看| 日韩一区二区三区电影| 91蝌蚪porny| 老鸭窝一区二区久久精品| 国产精品美女一区二区三区 | 91传媒视频在线播放| 久久福利视频一区二区| 一区二区久久久| 国产精品伦一区二区三级视频| 欧美一级高清片在线观看| 91一区二区在线| 国产成人高清在线| 久久精品国产99国产精品| 亚洲国产美女搞黄色| 国产精品欧美精品| 26uuu亚洲综合色欧美| 欧美人成免费网站| 91麻豆6部合集magnet| 国产一二精品视频| 奇米色777欧美一区二区| 有码一区二区三区| 国产精品高清亚洲| 久久久久久久综合| 日韩欧美国产一区二区在线播放 | 欧美日韩一级大片网址| 风间由美一区二区三区在线观看| 美国一区二区三区在线播放| 丝袜美腿成人在线| 午夜免费久久看| 亚洲大尺度视频在线观看| 亚洲视频精选在线| 中文无字幕一区二区三区 | 欧洲日韩一区二区三区| 色又黄又爽网站www久久| 99久久精品国产导航| 9i在线看片成人免费| 成人伦理片在线| 91在线观看下载| 色天使色偷偷av一区二区| 色老汉一区二区三区| 色老汉av一区二区三区| 欧美亚洲一区二区三区四区| 欧美视频在线播放| 欧美三级电影网| 日韩亚洲欧美一区| 精品国产一区二区三区四区四 | 亚洲一区自拍偷拍| 亚洲综合视频在线| 肉肉av福利一精品导航| 日本不卡高清视频| 极品瑜伽女神91| 成人性色生活片免费看爆迷你毛片| 成人综合激情网| 成人h版在线观看| 色婷婷激情久久| 日韩免费看的电影| 久久亚洲精华国产精华液 | 色诱亚洲精品久久久久久| 欧美性受极品xxxx喷水| 日韩视频一区在线观看| 中文字幕第一区二区| 亚洲一区免费视频| 青草国产精品久久久久久| 国产精品综合一区二区三区| 国产成人av福利| 91麻豆自制传媒国产之光| 欧美日韩国产区一| 久久久久久综合| 亚洲精选一二三| 另类中文字幕网| 风间由美性色一区二区三区| 91黄色激情网站| 精品国产一区二区国模嫣然| 亚洲午夜在线观看视频在线| 成人永久aaa| 色婷婷国产精品| 欧美成人三级电影在线| 日韩一区中文字幕| 美女尤物国产一区| 91在线一区二区| wwww国产精品欧美| 成人av集中营| 久久影院午夜片一区| 国产中文一区二区三区| 欧美r级电影在线观看| 九一久久久久久| 中文字幕乱码日本亚洲一区二区 |