ComboBox的變化問題 |
尚未結案
|
qqmax
一般會員 發表:17 回覆:26 積分:8 註冊:2004-11-22 發送簡訊給我 |
|
allenchan
資深會員 發表:10 回覆:306 積分:283 註冊:2004-01-06 發送簡訊給我 |
|
allenchan
資深會員 發表:10 回覆:306 積分:283 註冊:2004-01-06 發送簡訊給我 |
大致上就是要自己畫,我弄了一個範例程式給您參考: Example: 請拉一個 TComboBox、TImage 在畫面上,名稱為 ComboBox1 及 Image1,將 ComboBox1 的 Style 屬性設為 csOwnerDrawFixed,
並且在執行檔目錄下放 1.bmp、2.bmp、3.bmp、4.bmp、5.bmp (請自行挑選圖片)
__fastcall TForm1::TForm1(TComponent* Owner) : TForm(Owner) { /* 放五個空白選項 */ ComboBox1->Items->Add(""); ComboBox1->Items->Add(""); ComboBox1->Items->Add(""); ComboBox1->Items->Add(""); ComboBox1->Items->Add(""); } void __fastcall TForm1::ComboBox1DrawItem(TWinControl *Control, int Index, TRect &Rect, TOwnerDrawState State) { Image1->Picture->LoadFromFile(IntToStr(Index + 1) + ".bmp"); /* 自己畫選項 */ ComboBox1->Canvas->StretchDraw(Rect, Image1->Picture->Bitmap); ComboBox1->Canvas->FrameRect(Rect); }P.S 程式中的 + 是全型的,請置換成半型,因為我打半型的加號顯示不出來.. 發表人 - |
qqmax
一般會員 發表:17 回覆:26 積分:8 註冊:2004-11-22 發送簡訊給我 |
|
allenchan
資深會員 發表:10 回覆:306 積分:283 註冊:2004-01-06 發送簡訊給我 |
__fastcall TForm1::TForm1(TComponent* Owner) : TForm(Owner) { /* 放五個空白選項 */ ComboBox1->Items->Add(""); ComboBox1->Items->Add(""); ComboBox1->Items->Add(""); ComboBox1->Items->Add(""); ComboBox1->Items->Add(""); ComboBox1->ItemIndex = 0; }發表人 - allenchan 於 2004/11/30 18:14:49 |
qqmax
一般會員 發表:17 回覆:26 積分:8 註冊:2004-11-22 發送簡訊給我 |
引言:__fastcall TForm1::TForm1(TComponent* Owner) : TForm(Owner) { /* 放五個空白選項 */ ComboBox1->Items->Add(""); ComboBox1->Items->Add(""); ComboBox1->Items->Add(""); ComboBox1->Items->Add(""); ComboBox1->Items->Add(""); ComboBox1->ItemIndex = 0; }對了我把我的執行檔給別人用時卻產生Load不到圖片的問題難道我連圖也要一病給別人嗎?? 有別的方法解決嗎??? 發表人 - allenchan 於 2004/11/30 18:14:49 |
rogan321
高階會員 發表:21 回覆:307 積分:200 註冊:2003-05-15 發送簡訊給我 |
引言: ... 對了我把我的執行檔給別人用時卻產生Load不到圖片的問題難道我連圖也要一病給別人嗎?? 有別的方法解決嗎??? 發表人 - allenchan 於 2004/11/30 18:14:49Project->Options->Linker->Use dynamic RTL 取消掉 Project->Options->Package->Build with runtime package 取消掉 試看看~~ 發表人 - rogan321 於 2004/12/01 05:26:10 |
qqmax
一般會員 發表:17 回覆:26 積分:8 註冊:2004-11-22 發送簡訊給我 |
引言:不知道是什麼原因還是有問題耶還是讀不到檔案的錯誤 抱歉可否再給予指點引言: ... 對了我把我的執行檔給別人用時卻產生Load不到圖片的問題難道我連圖也要一病給別人嗎?? 有別的方法解決嗎??? 發表人 - allenchan 於 2004/11/30 18:14:49Project->Options->Linker->Use dynamic RTL 取消掉 Project->Options->Package->Build with runtime package 取消掉 試看看~~ 發表人 - rogan321 於 2004/12/01 05:26:10 |
allenchan
資深會員 發表:10 回覆:306 積分:283 註冊:2004-01-06 發送簡訊給我 |
您好,我給您的範例是要讀取外部的圖片沒有錯呀,您的那五張圖片必須放在執行檔的目錄下一併發佈,這只是範例喔,主要目的在於示範如何畫 ComboBox 的選項。
void __fastcall TForm1::ComboBox1DrawItem(TWinControl *Control, int Index, TRect &Rect, TOwnerDrawState State) { /* 讀取 bimap 檔案 */ Image1->Picture->LoadFromFile(IntToStr(Index 1) ".bmp"); /* 自己畫選項 */ ComboBox1->Canvas->StretchDraw(Rect, Image1->Picture->Bitmap); ComboBox1->Canvas->FrameRect(Rect); }如果你不想 bitmap 檔案獨立在外部,比較正統的方法是將圖片放到 Resource ,然後程式要用的時候再去 LoadResource,簡單的方法就是畫面上拉五個 TImage 名稱為 Image1 ~ Image5,在 design time 時先點選 TImage 的 Picture 屬性,將圖檔 load 進來,然後程式改一下。 void __fastcall TForm1::ComboBox1DrawItem(TWinControl *Control, int Index, TRect &Rect, TOwnerDrawState State) { TImage *img = dynamic_cast發表人 - allenchan 於 2004/12/01 09:17:37 |
qqmax
一般會員 發表:17 回覆:26 積分:8 註冊:2004-11-22 發送簡訊給我 |
|
qqmax
一般會員 發表:17 回覆:26 積分:8 註冊:2004-11-22 發送簡訊給我 |
引言: 您好,我給您的範例是要讀取外部的圖片沒有錯呀,您的那五張圖片必須放在執行檔的目錄下一併發佈,這只是範例喔,主要目的在於示範如何畫 ComboBox 的選項。感謝你精闢的講解我來融會貫通一下如果有一或海請您多多指教^^void __fastcall TForm1::ComboBox1DrawItem(TWinControl *Control, int Index, TRect &Rect, TOwnerDrawState State) { /* 讀取 bimap 檔案 */ Image1->Picture->LoadFromFile(IntToStr(Index 1) ".bmp"); /* 自己畫選項 */ ComboBox1->Canvas->StretchDraw(Rect, Image1->Picture->Bitmap); ComboBox1->Canvas->FrameRect(Rect); }如果你不想 bitmap 檔案獨立在外部,比較正統的方法是將圖片放到 Resource ,然後程式要用的時候再去 LoadResource,簡單的方法就是畫面上拉五個 TImage 名稱為 Image1 ~ Image5,在 design time 時先點選 TImage 的 Picture 屬性,將圖檔 load 進來,然後程式改一下。void __fastcall TForm1::ComboBox1DrawItem(TWinControl *Control, int Index, TRect &Rect, TOwnerDrawState State) { TImage *img = dynamic_cast發表人 - allenchan 於 2004/12/01 09:17:37 |
allenchan
資深會員 發表:10 回覆:306 積分:283 註冊:2004-01-06 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |