線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:764
推到 Plurk!
推到 Facebook!

請問副程式要怎麼輸入元件名稱呢 ?

尚未結案
l8939_c
一般會員


發表:9
回覆:15
積分:4
註冊:2005-03-07

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-05-05 20:00:36 IP:61.220.xxx.xxx 未訂閱
我希望寫一個副程式,輸入一個元件名稱, 就在該元件上執行 例如我有兩個 Image 元件 (Img1 , Img2) 我希望執行 Img1->Canvas->Rectangle(50,50,200,300); 或 Img2->Canvas->Rectangle(50,50,200,300); 所以希望寫一個副程式,輸入 Img1/Img2 就可執行 void pic_img(Object a1) { a1->Canvas->Rectangle(50,50,200,300); } 不知正確寫法為何 ? engineer
------
engineer
richtop
資深會員


發表:122
回覆:646
積分:468
註冊:2003-06-10

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-05-05 21:53:26 IP:211.76.xxx.xxx 未訂閱
l8939_c 您好:    pseudo codes 如下請參考!    
#include   // 記得要加才能使用 TImage
.....
void passImage(TImage *image1, TImage *image2)
{
  image1->Picture->Bitmap->Canvas->........;
  ....
}
RichTop 敬上 =====***** 把數學當工具,可以解決問題;將數學變能力,能夠發現並解決問題! =====#####
l8939_c
一般會員


發表:9
回覆:15
積分:4
註冊:2005-03-07

發送簡訊給我
#3 引用回覆 回覆 發表時間:2005-05-06 12:15:53 IP:61.220.xxx.xxx 未訂閱
richtop 您好: 我還有一個小問題 因為我想寫關於繪圖及列印的程式 我想讓程式先在螢幕上畫好,並且列印出來 我的構想是 例如: void passImage(Object *Obj1) { Obj1->Canvas->MoveTo(100,100); Obj1->Canvas->LineTo(200,200); Obj1->Canvas->LineTo(200,300);} ..................... } 然後輸入 passImage(Imag1); // 螢幕輸出 passImage(Printer()); // 印表機輸出 不知 C 是否可以辦到呢 engineer
------
engineer
richtop
資深會員


發表:122
回覆:646
積分:468
註冊:2003-06-10

發送簡訊給我
#4 引用回覆 回覆 發表時間:2005-05-06 23:15:32 IP:211.76.xxx.xxx 未訂閱
l8939_c 您好:    基本上可以,不過兩者對Canvas的使用仍有區別,需要分別去判斷。 底下程式僅供參考,或許還有更好的方式。 < class="code"> void passImage(TObject *Obj) { AnsiString cName = Obj->ClassName(); TCanvas *canvas; if ( cName=="TImage" ) { canvas = ((TImage *) Obj)->Canvas; } else if ( cName=="TPrinter" ) { canvas = ((TPrinter *) Obj)->Canvas; } else return; if ( cName=="TPrinter" ) { ((TPrinter *) Obj)->BeginDoc(); } // ===== Begin to draw anything you want below canvas->MoveTo(100,100); canvas->LineTo(200,200); canvas->LineTo(200,300); // ##### end of drawing if ( cName=="TPrinter" ) { ((TPrinter *) Obj)->EndDoc(); } } void __fastcall TForm1::BitBtn1Click(TObject *Sender) { passImage(Image1); passImage(Printer()); } //--------------------------------------------------------------------------- RichTop 敬上 =====***** 把數學當工具,可以解決問題;將數學變能力,能夠發現並解決問題! =====#####
l8939_c
一般會員


發表:9
回覆:15
積分:4
註冊:2005-03-07

發送簡訊給我
#5 引用回覆 回覆 發表時間:2005-05-09 15:19:48 IP:61.220.xxx.xxx 未訂閱
OK ~    richtop 果然是高手 !    < >< >< >< >< >< >< >< >< > < >< >< >< >< >< >< >< >< > < >< >< >< >< >< >< >< >
------
engineer
系統時間:2024-06-02 1:47:31
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!