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

DBGird 改變某一ROW字體

尚未結案
TTL
一般會員


發表:4
回覆:17
積分:4
註冊:2004-01-30

發送簡訊給我
#1 引用回覆 回覆 發表時間:2004-02-24 01:57:14 IP:203.187.xxx.xxx 未訂閱
DBGird某一ROW字體.... 假設原本細體字型.... 當滑鼠點一下某一row時 這row全部變為粗體字型... 請問前輩可否教我應該怎麼做呢... DBGrid1->Canvas->Font->Style=fsBold; ???? events是在DBGrid1DrawColumnCell狀態下嗎 ? 發表人 - ttl 於 2004/02/24 02:00:31
kwu
中階會員


發表:10
回覆:57
積分:58
註冊:2003-10-31

發送簡訊給我
#2 引用回覆 回覆 發表時間:2004-02-24 10:16:00 IP:61.63.xxx.xxx 未訂閱
引言: DBGird某一ROW字體.... 假設原本細體字型.... 當滑鼠點一下某一row時 這row全部變為粗體字型... 請問前輩可否教我應該怎麼做呢... DBGrid1->Canvas->Font->Style=fsBold; ???? events是在DBGrid1DrawColumnCell狀態下嗎 ? 發表人 - ttl 於 2004/02/24 02:00:31
TTL你好: 請參考下面的程式碼 請將 DBGrid1 的屬性 Options dgRowSelect 設為 true
void __fastcall TForm1::DBGrid1DrawDataCell(TObject *Sender,
      const TRect &Rect, TField *Field, TGridDrawState State)
{
  if (State.Contains(gdSelected))
    DBGrid1->Canvas->Font->Style = TFontStyles() << fsBold;
  else
    DBGrid1->Canvas->Font->Style = TFontStyles() >> fsBold;      AnsiString strCell = Field->AsString;
  DBGrid1->Canvas->FillRect(Rect);
  DBGrid1->Canvas->TextOut(Rect.Left   2,Rect.Top   2,strCell);
}
TTL
一般會員


發表:4
回覆:17
積分:4
註冊:2004-01-30

發送簡訊給我
#3 引用回覆 回覆 發表時間:2004-02-24 11:08:59 IP:203.187.xxx.xxx 未訂閱
引言:
引言: DBGird某一ROW字體.... 假設原本細體字型.... 當滑鼠點一下某一row時 這row全部變為粗體字型... 請問前輩可否教我應該怎麼做呢... DBGrid1->Canvas->Font->Style=fsBold; ???? events是在DBGrid1DrawColumnCell狀態下嗎 ? 發表人 - ttl 於 2004/02/24 02:00:31
TTL你好: 請參考下面的程式碼 請將 DBGrid1 的屬性 Options dgRowSelect 設為 true
void __fastcall TForm1::DBGrid1DrawDataCell(TObject *Sender,
      const TRect &Rect, TField *Field, TGridDrawState State)
{
  if (State.Contains(gdSelected))
    DBGrid1->Canvas->Font->Style = TFontStyles() << fsBold;
  else
    DBGrid1->Canvas->Font->Style = TFontStyles() >> fsBold;      AnsiString strCell = Field->AsString;
  DBGrid1->Canvas->FillRect(Rect);
  DBGrid1->Canvas->TextOut(Rect.Left   2,Rect.Top   2,strCell);
}
KWU你好... 謝謝你的回覆... 但是我compiler後都沒變化.... 程式碼中<< >> 代表什麼意思 ?? 還有這行我也不太了解... DBGrid1->Canvas->TextOut(Rect.Left 2,Rect.Top 2,strCell); 可否請你解釋一下...謝謝..
kwu
中階會員


發表:10
回覆:57
積分:58
註冊:2003-10-31

發送簡訊給我
#4 引用回覆 回覆 發表時間:2004-02-24 12:05:42 IP:61.63.xxx.xxx 未訂閱
引言: KWU你好... 謝謝你的回覆... 但是我compiler後都沒變化.... 程式碼中<< >> 代表什麼意思 ?? 還有這行我也不太了解... DBGrid1->Canvas->TextOut(Rect.Left + 2,Rect.Top + 2,strCell); 可否請你解釋一下...謝謝..
TTL你好: 你所提的問題整理如下: //把粗體的樣式加入 DBGrid1->Canvas->Font->Style = TFontStyles() << fsBold; //把粗體的樣式移除 DBGrid1->Canvas->Font->Style = TFontStyles() >> fsBold; //把 DBGrid 畫布的字重新輸出 DBGrid1->Canvas->TextOut(Rect.Left + 2,Rect.Top + 2,strCell); 是否有將請將 DBGrid1 的屬性 Options dgRowSelect 設為 true 另外如果有要顯示中文的粗體的話要將 DBGrid1 的屬性 Font Name 設為新細明體,還要將 字集 設為 CHINESE_BIG5; 請參考下面的圖 < src="http://delphi.ktop.com.tw/loadfile.php?TOPICID=14213656&CC=317884">
TTL
一般會員


發表:4
回覆:17
積分:4
註冊:2004-01-30

發送簡訊給我
#5 引用回覆 回覆 發表時間:2004-02-25 01:10:45 IP:203.187.xxx.xxx 未訂閱
引言:
引言: KWU你好... 謝謝你的回覆... 但是我compiler後都沒變化.... 程式碼中<< >> 代表什麼意思 ?? 還有這行我也不太了解... DBGrid1->Canvas->TextOut(Rect.Left + 2,Rect.Top + 2,strCell); 可否請你解釋一下...謝謝..
TTL你好: 你所提的問題整理如下: //把粗體的樣式加入 DBGrid1->Canvas->Font->Style = TFontStyles() << fsBold; //把粗體的樣式移除 DBGrid1->Canvas->Font->Style = TFontStyles() >> fsBold; //把 DBGrid 畫布的字重新輸出 DBGrid1->Canvas->TextOut(Rect.Left + 2,Rect.Top + 2,strCell); 是否有將請將 DBGrid1 的屬性 Options dgRowSelect 設為 true 另外如果有要顯示中文的粗體的話要將 DBGrid1 的屬性 Font Name 設為新細明體,還要將 字集 設為 CHINESE_BIG5; 請參考下面的圖 < src="http://delphi.ktop.com.tw/loadfile.php?TOPICID=14213656&CC=317884">
再次謝謝kwu... 那如果我想要下次開啟這個form時..... 粗體 細體也能紀錄其row的位置....... 可以教我大概怎麼做嗎 ?? thx..
系統時間:2024-11-25 23:33:36
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!