2018年8月22日 星期三

BCB 筆記10 (Grid 載圖片)

表格填圖片
下面示範 DrawGrid 填圖片 ( 其實 StringGrid 也可以 )

void __fastcall TMainForm::DrawCell(TObject *Sender, int ACol, int ARow, TRect &Rect, TGridDrawState State)
{
    TDrawGrid *drawgrid = dynamic_cast<TDrawGrid *>(Sender);

    Bitmap->LoadFromFile(ExtractFilePath(Application->ExeName)+__PicturePath+"123.bmp");

    drawgrid->Canvas->Draw(Rect.Left, Rect.Top, Bitmap);

    delete Bitmap;
}

依照圖片大小的方法

    drawgrid->Canvas->StrenchDraw(TRect ,Bitmap);

參考資料
1. 我
2. https://bbs.csdn.net/topics/30220802

Related Posts:

  • BCB 筆記4 (DrawText)在 BCB 裡設計表格類的東西 幾乎都是從 TCustomGrid 繼承而來 在填入表格值都是用 DrawText 來填值 而我們要改變一些東西,例如文字置中 就要自己下 DrawText 的參數 首先第一步,把 DefaultDrawing 的值改為 Fault 不改的話會 DrawText 兩次,造成重疊 第二步改寫 OnDrawCell void __fastcall TMainForm::LGridDrawCell(TObject … Read More
  • BCB 筆記1 (MessageBox、ComboBox) 寫有介面的程式時常會需要跳出訊息 這裡介紹Application->MessageBox int MessageBox(const char* Text, const char* Caption, int Flags); 這裡沒啥好講的 想寫的幾乎都會變照抄網上的東西,所以就給連結當備份吧 1. http://yanjuns.blogspot.tw/2015/06/cbuilder-vcl.html 2. http:/… Read More
  • BCB 筆記7 (StrToInt)報告在製作時,一定會遇到要字串轉數字 在 BCB 裡有方便的函式 常見的有 String str = "123" int x = StrToInt(str); float y = StrToFloat(str); 但有時候不一定可以轉成數字 這時就可用 String str = "@123" int x; float y; bool z; z = TryStrToInt(s… Read More
  • BCB 筆記5 (TValueListEditor)轉報告下一步就是自動產生報告 要自動產生報告,不外乎就是填表格。 你可以用 DrawGrid 或 StringGrid 來製作表格 但我認為 DrawGrid 和 StringGrid 都是完成度很高的元件 完成度很高代表若目的與設計方向不同,用起來就會綁手綁腳 要覆寫很多功能或者沒有與你目的相同的東西 我想當初 Grid 就是來完成表格,不是給你填, 所以在填值方面不會有太多方便的功能。 填表格通常會想要用下拉式表單 ( ComboBox … Read More
  • BCB 筆記6 (Sender)說來慚愧,但我很後面才知道這東西 BCB 設計按鈕不外乎 TButton TBitBtn TSpeedButton 但按鈕通常邏輯差不多,只是因為傳的值不一樣而用不同 Button 然後程式碼變成這樣 void __fastcall TMainForm::TButton1Click(TObject *Sender) { MyButtonFunction("TButton1"); } void __fastcall TMainFor… Read More

0 意見:

張貼留言

Popular Posts