Delphi 制作股票分时图

标签: Delphi  分时图  闪烁

背景:

利用Delphi开发股票分时图。

版本:

Delphi7

正文:


思路如下:

新建一个panel,在其上根据股票分时数据用canvas画出分时图;

遇到的问题:

1 Delphi的panel不自带canvas,需要用TControlCanvas提供画布作画;

2 画出的分时图闪烁,利用内存位图bitmap解决;

代码如下:
procedure TForm2.DrowMin(Sender: TObject; Panel: TFlatPanel);
var
  BMP:TBitMap;
  PanelCanvas:TControlCanvas;
begin
  BMP:=TBitMap.Create;
  PanelCanvas:=TControlCanvas.Create;
  
  PanelCanvas.Control:= panel;
  with BMP.Canvas do
  // 画图 
  begin
      Brush.Color:= clBlack;
      FillRect(ClientRect);

      pen.Color := clBlack;
      pen.Width := Panel.Height;
      MoveTo(Panel.Left, 0);
      LineTo(Panel.Left + Panel.Width, 0);
      pen.Width := 1;
      // ......此处省略画图代码
  end;
  //  把位图BMP复制给panel的画布PanelCanvas
  bitblt(PanelCanvas.Handle, 0, 0, Panel.Width, Panel.Height, BMP.Canvas.Handle, 0, 0, SRCCOPY);
  
  PanelCanvas.Free;
  BMP.Free;
end;

效果图如下:



PS:

如有疑问,欢迎留言大笑



版权声明:本文为xbcsu原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/xbcsu/article/details/80806353