请问,用timer事件,怎么制造一个label控件围绕一个圈转动.如该label的内容围绕一个image 如一个圆转动.请问这样的代码该怎么写.
解决方案 »
- DELPHI TXMLDocument 插入子节点问题
- delphi 为什么 (edt2KeyPress) 事件没用 帮帮忙
- DSPACK如何默认视频来源(Video Input)
- mainmenu和PageControl的问题
- 一个关于TListbox,TMemo控件的问题。
- SQL Server2000导入ACCESS数据库的时候,是否能将关系也一起导入?
- 如何用listview实现类资源管理器的功能
- delphi 一个很简单的问题?
- 各位大侠,怎样从文本里读取文本?谢了。
- 请问下大家(用编程挣钱的)一般要会编什么类型的程序?给分.
- 高难度问题:这段内存复制的代码,究竟错在哪里
- 问一个接口继承的问题
mOrigin: TPoint; // 原点坐标
mSpeed: Real; // 运动速度 // 每次多少角度
mRadii: Integer; // 半径
var nAngle: Real; // [in,out]返回移动后的角度
var nPoint: TPoint // 返回移动后的坐标
): Boolean;
begin
Result := False;
if mSpeed = 0 then Exit;
nAngle := nAngle + mSpeed;
if nAngle > 2 * Pi then
nAngle := nAngle - 2 * Pi
else if nAngle < 0 then
nAngle := nAngle + 2 * Pi;
nPoint.X := Round(Cos(nAngle) * mRadii) + mOrigin.X;
nPoint.Y := Round(Sin(nAngle) * mRadii) + mOrigin.Y ;
Result := True;
end; { Encircle }procedure TForm1.Timer1Timer(Sender: TObject);
{$J+}const vAngle: Real = 0;{$J-} // 可以用字段代替
const
cOrigin: TPoint = (X: 300; Y: 300);
cSpeed = 0.1;
cRadii = 100;
var
vPoint: TPoint;
begin
Encircle(cOrigin, cSpeed, cRadii, vAngle, vPoint);
Label1.Left := vPoint.X - Label1.Width div 2;
Label1.Top := vPoint.Y - Label1.Height div 2;
end;