如何使用C++ Builder 5 做一個會動的類比時鐘與數位時鐘 |
尚未結案
|
ghosbrother
一般會員 發表:3 回覆:1 積分:0 註冊:2006-12-30 發送簡訊給我 |
小弟在學校 接觸C++ Builder 5 已經6個禮拜了~但如何才能寫出會動的時鐘(我的都不會動)
請各位前輩指教~附上我自己的程式 |
hipig
高階會員 發表:31 回覆:75 積分:111 註冊:2007-01-15 發送簡訊給我 |
首先這是個數學問題
你必須先知道一個很重要的數值 叫"角度" 把一個圓360度畫分成60格 這樣才知道現在這條線要以圓心為準幾度畫出去 之後研究如何把分時等指針也呈現上去 這邊酌附上畫有角度線條的方式 至於數學問題就留待於您仔細思考 [code cpp] double Angle; //角度 int startX, startY, LineLong;//起始及線長 Angle = Angle * M_PI/180.0; Canvas->MoveTo(startX, startY); Canvas->LineTo( startX (int)(LineLong * sin(Angle)), startY - (int)(LineLong * cos(Angle))); [/code] 以你的程式實做秒數部份 [code cpp] void __fastcall TForm1::Timer2Timer(TObject *Sender) { Label1->Caption="現在:" Time(); Image1->Picture = NULL; Image1->Canvas->Ellipse(0,0,199,199); double Angle = 6 * StrToFloat(Now().FormatString("ss")); //角度 int startX = 100, startY = 100, LineLong = 80;//起始及線長 Angle = Angle * M_PI/180.0; Image1->Canvas->MoveTo(startX, startY); Image1->Canvas->LineTo( startX (int)(LineLong * sin(Angle)), startY - (int)(LineLong * cos(Angle))); } [/code] ===================引 用 ghosbrother 文 章=================== 小弟在學校 接觸C Builder 5 已經6個禮拜了~但如何才能寫出會動的時鐘(我的都不會動) 請各位前輩指教~附上我自己的程式 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |