全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:3279
推到 Plurk!
推到 Facebook!

bcb 可將字串改為圖片嗎??謝謝...

答題得分者是:RedSnow
sgchieh0414
一般會員


發表:17
回覆:16
積分:6
註冊:2005-08-08

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-11-19 01:36:18 IP:220.139.xxx.xxx 未訂閱
我想用bcb做一個字幕跑馬燈,可由左向右跑,由右向左跑 我看書內,書內有教圖片左右移動,所以我想到bcb內可否將字串 改為圖片呢?還是字幕跑馬燈有更好的作法呢??感謝...希望各位大大指教
RedSnow
版主


發表:79
回覆:1322
積分:845
註冊:2003-12-15

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-11-19 11:58:56 IP:61.217.xxx.xxx 未訂閱
sgchieh0414 您好:    不需使用圖片亦可達到文字跑馬燈的效果,您可以參考一下這一篇: 請問一下BCB能有跑馬燈嗎? http://delphi.ktop.com.tw/topic.php?topic_id=57323 7 天天敲鍵盤 v 時時按滑鼠 8
sgchieh0414
一般會員


發表:17
回覆:16
積分:6
註冊:2005-08-08

發送簡訊給我
#3 引用回覆 回覆 發表時間:2005-11-20 17:09:22 IP:220.137.xxx.xxx 未訂閱
引言: 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

發送簡訊給我
#4 引用回覆 回覆 發表時間:2005-11-20 18:41:17 IP:59.115.xxx.xxx 未訂閱
sgchieh0414 您好:    我這邊測試過,一切都正常,您可以試著將 Timer 的 Interval 設為 200,並將 OnTimer 事件裡的 Label2->Left-=5; 改為 Label2->Left-=1;,Label 元件的部份請將 AutoSize 設為 true,最後請確定 Timer 元件的 Enabled 屬性是設為 true 的,然後再試試看,如果仍有問題的話,就把您的相關程式碼貼上來吧。 7 天天敲鍵盤 v 時時按滑鼠 8
sgchieh0414
一般會員


發表:17
回覆:16
積分:6
註冊:2005-08-08

發送簡訊給我
#5 引用回覆 回覆 發表時間:2005-11-21 01:31:06 IP:220.137.xxx.xxx 未訂閱
引言: sgchieh0414 您好: 我這邊測試過,一切都正常,您可以試著將 Timer 的 Interval 設為 200,並將 OnTimer 事件裡的 Label2->Left-=5; 改為 Label2->Left-=1;,Label 元件的部份請將 AutoSize 設為 true,最後請確定 Timer 元件的 Enabled 屬性是設為 true 的,然後再試試看,如果仍有問題的話,就把您的相關程式碼貼上來吧。 7 天天敲鍵盤 v 時時按滑鼠 8
我照您所說的都改過了,但按下Button2還是都無反應,以下是我bcb的程式碼, 請您可幫我看一下嗎,謝謝...感激... //--------------------------------------------------------------------------- #include #pragma hdrstop #include "Unit1.h" //--------------------------------------------------------------------------- #pragma package(smart_init) #pragma resource "*.dfm" TForm1 *Form1; //--------------------------------------------------------------------------- __fastcall TForm1::TForm1(TComponent* Owner) : TForm(Owner) { } //--------------------------------------------------------------------------- void __fastcall TForm1::Timer1Timer(TObject *Sender) { Timer1->Enabled=false; if (Label1->Left < Panel1->Width) // 向右 Label1->Left =1; else Label1->Left=0; if (Label1->Left Label1->Width > 0) // 向左 Label1->Left-=1; else Label1->Left=Panel1->Width; Timer1->Enabled=true; } //--------------------------------------------------------------------------- void __fastcall TForm1::Button1Click(TObject *Sender) { Close(); } //--------------------------------------------------------------------------- void __fastcall TForm1::Button2Click(TObject *Sender) { Timer1->Interval=200; } //---------------------------------------------------------------------------
RedSnow
版主


發表:79
回覆:1322
積分:845
註冊:2003-12-15

發送簡訊給我
#6 引用回覆 回覆 發表時間:2005-11-21 02:15:57 IP:61.230.xxx.xxx 未訂閱
sgchieh0414 您好:    那段範例的 OnTimer 事件中寫了兩種捲動的方式,一種是向左捲、另一種是向右捲,您僅能擇一來用,不能同時啟用,因此您若是想要 Label 字樣向左捲動,那麼由標註著 "// 向右" 字樣的那一行與其後的三行就要刪除 (或 Mark) 掉,反之;則將標註著 "// 向左" 字樣起算的那四行刪除 (或 Mark) 掉,這樣子才會 "捲動"。 7 天天敲鍵盤 v 時時按滑鼠 8
sgchieh0414
一般會員


發表:17
回覆:16
積分:6
註冊:2005-08-08

發送簡訊給我
#7 引用回覆 回覆 發表時間:2005-11-21 08:46:37 IP:220.139.xxx.xxx 未訂閱
引言: sgchieh0414 您好: 那段範例的 OnTimer 事件中寫了兩種捲動的方式,一種是向左捲、另一種是向右捲,您僅能擇一來用,不能同時啟用,因此您若是想要 Label 字樣向左捲動,那麼由標註著 "// 向右" 字樣的那一行與其後的三行就要刪除 (或 Mark) 掉,反之;則將標註著 "// 向左" 字樣起算的那四行刪除 (或 Mark) 掉,這樣子才會 "捲動"。 7 天天敲鍵盤 v 時時按滑鼠 8
非常感謝你!我成功了.. 可否再請教您,如果我要用兩個Button,來做可以選擇向左走和向右走, 並且在同一個Timer1上來做,那用我上面的程式碼該改那裡較好呢... 謝謝您...感激...
RedSnow
版主


發表:79
回覆:1322
積分:845
註冊:2003-12-15

發送簡訊給我
#8 引用回覆 回覆 發表時間:2005-11-21 09:22:27 IP:59.115.xxx.xxx 未訂閱
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

發送簡訊給我
#9 引用回覆 回覆 發表時間:2005-11-22 00:00:09 IP:220.139.xxx.xxx 未訂閱
引言: 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
我做出來了....非常感謝您.... 可否再問您最後個問題,可以不用兩個RadioButton來做,則是用兩個單獨的Button來做我想要的左跑,右跑功能,不知您是否知道可這樣做嗎?謝謝..感恩.. 但
RedSnow
版主


發表:79
回覆:1322
積分:845
註冊:2003-12-15

發送簡訊給我
#10 引用回覆 回覆 發表時間:2005-11-22 00:24:53 IP:59.115.xxx.xxx 未訂閱
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

發送簡訊給我
#11 引用回覆 回覆 發表時間:2005-11-22 17:12:37 IP:220.139.xxx.xxx 未訂閱
引言: 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
您好!我假如功能只需Label1的Caption左跑到Panel1右邊底,又跑回到Panel1左邊底,就一直不斷的重複左右跑動,直到按下結束才停止,我該怎麼打程式碼呢...非常抱歉,不一次問完,謝謝您...感激....
RedSnow
版主


發表:79
回覆:1322
積分:845
註冊:2003-12-15

發送簡訊給我
#12 引用回覆 回覆 發表時間:2005-11-22 18:20:18 IP:61.230.xxx.xxx 未訂閱
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

發送簡訊給我
#13 引用回覆 回覆 發表時間:2005-11-22 19:57:10 IP:220.139.xxx.xxx 未訂閱
引言: 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

發送簡訊給我
#14 引用回覆 回覆 發表時間:2006-11-28 20:15:44 IP:220.139.xxx.xxx 未訂閱
請問各位 前輩因為我第一次接觸根本不太懂C
我把課本翻了好幾遍也看不太懂說...XD
之後我按照大大教發文大大的步驟有做出文字跑馬燈....出來
可是我想問1個問題..我是用InputBox指令來輸入文字.想輸入在Label框框裡
可是字跳出來會一直往左循環...
問題1:大大教的是跑全Form的 能讓他只在Label 循環嗎?
自己文意表達不好 大大有不詳細的問題可以回跟我說 謝謝 (下臺一鞠躬)
------
茻♂(墮落王道)★紅乍笑,綠長顰,與誰同度可憐春。
系統時間:2024-11-22 19:26:43
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!