bcb 可將字串改為圖片嗎??謝謝... |
答題得分者是:RedSnow
|
sgchieh0414
一般會員 發表:17 回覆:16 積分:6 註冊:2005-08-08 發送簡訊給我 |
|
RedSnow
版主 發表:79 回覆:1322 積分:845 註冊:2003-12-15 發送簡訊給我 |
sgchieh0414 您好: 不需使用圖片亦可達到文字跑馬燈的效果,您可以參考一下這一篇:
請問一下BCB能有跑馬燈嗎?
http://delphi.ktop.com.tw/topic.php?topic_id=57323
7 天天敲鍵盤 v 時時按滑鼠 8
|
sgchieh0414
一般會員 發表:17 回覆:16 積分:6 註冊:2005-08-08 發送簡訊給我 |
引言: sgchieh0414 您好: 不需使用圖片亦可達到文字跑馬燈的效果,您可以參考一下這一篇: 請問一下BCB能有跑馬燈嗎? http://delphi.ktop.com.tw/topic.php?topic_id=57323 7 天天敲鍵盤 v 時時按滑鼠 8您好!我試過了用panel放放一個label,然後label是可以左移和右移,但timer 好像沒反應,都不會連續的動作,只會動一下而已,不知您是否曉得這問題,謝謝.. |
RedSnow
版主 發表:79 回覆:1322 積分:845 註冊:2003-12-15 發送簡訊給我 |
|
sgchieh0414
一般會員 發表:17 回覆:16 積分:6 註冊:2005-08-08 發送簡訊給我 |
引言: sgchieh0414 您好: 我這邊測試過,一切都正常,您可以試著將 Timer 的 Interval 設為 200,並將 OnTimer 事件裡的 Label2->Left-=5; 改為 Label2->Left-=1;,Label 元件的部份請將 AutoSize 設為 true,最後請確定 Timer 元件的 Enabled 屬性是設為 true 的,然後再試試看,如果仍有問題的話,就把您的相關程式碼貼上來吧。 7 天天敲鍵盤 v 時時按滑鼠 8我照您所說的都改過了,但按下Button2還是都無反應,以下是我bcb的程式碼, 請您可幫我看一下嗎,謝謝...感激... //--------------------------------------------------------------------------- #include |
RedSnow
版主 發表:79 回覆:1322 積分:845 註冊:2003-12-15 發送簡訊給我 |
|
sgchieh0414
一般會員 發表:17 回覆:16 積分:6 註冊:2005-08-08 發送簡訊給我 |
引言: sgchieh0414 您好: 那段範例的 OnTimer 事件中寫了兩種捲動的方式,一種是向左捲、另一種是向右捲,您僅能擇一來用,不能同時啟用,因此您若是想要 Label 字樣向左捲動,那麼由標註著 "// 向右" 字樣的那一行與其後的三行就要刪除 (或 Mark) 掉,反之;則將標註著 "// 向左" 字樣起算的那四行刪除 (或 Mark) 掉,這樣子才會 "捲動"。 7 天天敲鍵盤 v 時時按滑鼠 8非常感謝你!我成功了.. 可否再請教您,如果我要用兩個Button,來做可以選擇向左走和向右走, 並且在同一個Timer1上來做,那用我上面的程式碼該改那裡較好呢... 謝謝您...感激... |
RedSnow
版主 發表:79 回覆:1322 積分:845 註冊:2003-12-15 發送簡訊給我 |
sgchieh0414 您好: 您可以設兩個 RadioButton,以它們的圈選狀況作為 OnTimer 事件內處理不同方向的依據,例如:
// rbRight 與 rbLeft 為 RadioButton 元件 void __fastcall TForm1::Timer1Timer(TObject *Sender) { if (rbRight->Checked) { // 如果 rbRight 被圈選 if (Label2->Left < Panel5->Width) // 向右捲 Label2->Left =1; else Label2->Left=0; } else { // 否則就.... if (Label2->Left Label2->Width > 0) // 向左捲 Label2->Left-=1; else Label2->Left=Panel5->Width; } }7 天天敲鍵盤 v 時時按滑鼠 8 |
sgchieh0414
一般會員 發表:17 回覆:16 積分:6 註冊:2005-08-08 發送簡訊給我 |
引言: sgchieh0414 您好: 您可以設兩個 RadioButton,以它們的圈選狀況作為 OnTimer 事件內處理不同方向的依據,例如:我做出來了....非常感謝您.... 可否再問您最後個問題,可以不用兩個RadioButton來做,則是用兩個單獨的Button來做我想要的左跑,右跑功能,不知您是否知道可這樣做嗎?謝謝..感恩.. 但// rbRight 與 rbLeft 為 RadioButton 元件 void __fastcall TForm1::Timer1Timer(TObject *Sender) { if (rbRight->Checked) { // 如果 rbRight 被圈選 if (Label2->Left < Panel5->Width) // 向右捲 Label2->Left =1; else Label2->Left=0; } else { // 否則就.... if (Label2->Left Label2->Width > 0) // 向左捲 Label2->Left-=1; else Label2->Left=Panel5->Width; } }7 天天敲鍵盤 v 時時按滑鼠 8 |
RedSnow
版主 發表:79 回覆:1322 積分:845 註冊:2003-12-15 發送簡訊給我 |
sgchieh0414 您好: 請參考下列範例:
// 設一個全域變數如下 bool ScrollToLeft = true; // true=向左捲, false=向右捲 void __fastcall TForm2::ButtonLeftClick(TObject *Sender) { ScrollToLeft = true; // 設成 "向左捲" } void __fastcall TForm2::ButtonRightClick(TObject *Sender) { ScrollToLeft = false; // 設成 "不是向左捲" (向右捲) } void __fastcall TForm1::Timer1Timer(TObject *Sender) { if (!ScrollToLeft) { // 若不是向左捲 if (Label2->Left < Panel5->Width) // 向右捲 Label2->Left =1; else Label2->Left=0; } else { if (Label2->Left Label2->Width > 0) // 向左捲 Label2->Left-=1; else Label2->Left=Panel5->Width; } }7 天天敲鍵盤 v 時時按滑鼠 8 |
sgchieh0414
一般會員 發表:17 回覆:16 積分:6 註冊:2005-08-08 發送簡訊給我 |
引言: sgchieh0414 您好: 請參考下列範例:您好!我假如功能只需Label1的Caption左跑到Panel1右邊底,又跑回到Panel1左邊底,就一直不斷的重複左右跑動,直到按下結束才停止,我該怎麼打程式碼呢...非常抱歉,不一次問完,謝謝您...感激....// 設一個全域變數如下 bool ScrollToLeft = true; // true=向左捲, false=向右捲 void __fastcall TForm2::ButtonLeftClick(TObject *Sender) { ScrollToLeft = true; // 設成 "向左捲" } void __fastcall TForm2::ButtonRightClick(TObject *Sender) { ScrollToLeft = false; // 設成 "不是向左捲" (向右捲) } void __fastcall TForm1::Timer1Timer(TObject *Sender) { if (!ScrollToLeft) { // 若不是向左捲 if (Label2->Left < Panel5->Width) // 向右捲 Label2->Left =1; else Label2->Left=0; } else { if (Label2->Left Label2->Width > 0) // 向左捲 Label2->Left-=1; else Label2->Left=Panel5->Width; } }7 天天敲鍵盤 v 時時按滑鼠 8 |
RedSnow
版主 發表:79 回覆:1322 積分:845 註冊:2003-12-15 發送簡訊給我 |
sgchieh0414 您好: 以下範例接續前一個範例的全域變數設定,其餘的程式碼修改如下:
void __fastcall TForm1::Timer1Timer(TObject *Sender) { if (!ScrollToLeft) { if (Label2->Left < Panel5->Width) Label2->Left = 1; else ScrollToLeft = true; } else { if (Label2->Left Label2->Width > 0) Label2->Left -= 1; else ScrollToLeft = false; } }7 天天敲鍵盤 v 時時按滑鼠 8 |
sgchieh0414
一般會員 發表:17 回覆:16 積分:6 註冊:2005-08-08 發送簡訊給我 |
引言: sgchieh0414 您好: 以下範例接續前一個範例的全域變數設定,其餘的程式碼修改如下:謝謝....您真厲害... 希望以後還能多跟您多多學習...感激!!...void __fastcall TForm1::Timer1Timer(TObject *Sender) { if (!ScrollToLeft) { if (Label2->Left < Panel5->Width) Label2->Left = 1; else ScrollToLeft = true; } else { if (Label2->Left Label2->Width > 0) Label2->Left -= 1; else ScrollToLeft = false; } }7 天天敲鍵盤 v 時時按滑鼠 8 |
921157
一般會員 發表:0 回覆:1 積分:0 註冊:2006-11-28 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |