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

請問StringGrid 讓他可以文字多行 ,以參考過文章..

尚未結案
qubeley2004
一般會員


發表:52
回覆:71
積分:24
註冊:2004-07-13

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-07-07 15:39:22 IP:211.76.xxx.xxx 未訂閱
已經參考過文章 http://delphi.ktop.com.tw/topic.php?topic_id=39845 不過他一開始就會把字都全部存進去.. ...我再作處理的時候會動態的把想要的文字一行一行的放入StringGrid中 譬如說...一篇文章我將他把美一個段落都分別存在 StringGrid[0][n]=tempS n為變數, 有些過長的段落想要讓他成為多行的狀態,請問程式碼要如何寫呢?? 發表人 - qubeley2004 於 2005/07/07 16:05:19
supman
尊榮會員


發表:29
回覆:770
積分:924
註冊:2002-04-22

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-07-08 02:17:39 IP:219.68.xxx.xxx 未訂閱
我依照他的方式寫了一下,是沒問題的,不曉得您是甚麼問題。 如果您是說他是在OnDrawCell那邊填值不是您要的,自己改一下不就好了?    我寫了一下,檔案中的每一行,我把他3行就折一次,你參考參考,至於FixCol,FixRow那邊也會被畫成白的,還有依照格子寬高自動調整斷行,您自己先研究研究,有問題在問。    
void __fastcall TForm1::StringGrid1DrawCell(TObject *Sender, int ACol,
      int ARow, TRect &Rect, TGridDrawState State)
{
AnsiString S;
S=StringGrid1->Cells[ACol][ARow];
StringGrid1->Canvas->Brush->Color=clWhite;
StringGrid1->Canvas->FillRect(Rect);
DrawText(StringGrid1->Canvas->Handle,S.c_str(),S.Length(), &Rect,DT_LEFT);
}
//---------------------------------------------------------------------------    void __fastcall TForm1::BitBtn1Click(TObject *Sender)
{
TStringList *List;
AnsiString S;
List=new TStringList;
List->LoadFromFile("c:\\abc.txt");
for (int i=0;iCount;i  )
 {
  S=List->Strings[i];
  for (int j=3;jCells[1][i]=S;
 }
List->Free();
}
//---------------------------------------------------------------------------
qubeley2004
一般會員


發表:52
回覆:71
積分:24
註冊:2004-07-13

發送簡訊給我
#3 引用回覆 回覆 發表時間:2005-07-08 16:20:13 IP:211.76.xxx.xxx 未訂閱
引言: 我依照他的方式寫了一下,是沒問題的,不曉得您是甚麼問題。 如果您是說他是在OnDrawCell那邊填值不是您要的,自己改一下不就好了? 我寫了一下,檔案中的每一行,我把他3行就折一次,你參考參考,至於FixCol,FixRow那邊也會被畫成白的,還有依照格子寬高自動調整斷行,您自己先研究研究,有問題在問。
void __fastcall TForm1::StringGrid1DrawCell(TObject *Sender, int ACol,
      int ARow, TRect &Rect, TGridDrawState State)
{
AnsiString S;
S=StringGrid1->Cells[ACol][ARow];
StringGrid1->Canvas->Brush->Color=clWhite;
StringGrid1->Canvas->FillRect(Rect);
DrawText(StringGrid1->Canvas->Handle,S.c_str(),S.Length(), &Rect,DT_LEFT);
}
//---------------------------------------------------------------------------    void __fastcall TForm1::BitBtn1Click(TObject *Sender)
{
TStringList *List;
AnsiString S;
List=new TStringList;
List->LoadFromFile("c:\\abc.txt");
for (int i=0;iCount;i  )
 {
  S=List->Strings[i];
  for (int j=3;jCells[1][i]=S;
 }
List->Free();
}
//---------------------------------------------------------------------------
因為我把row還有col兩個寫反了 < > 感謝~< >
系統時間:2024-05-02 21:34:45
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!