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

關於stringgrid欄位預設反白

答題得分者是:jow
sives1227
一般會員


發表:24
回覆:19
積分:8
註冊:2007-10-12

發送簡訊給我
#1 引用回覆 回覆 發表時間:2007-11-20 16:54:23 IP:140.128.xxx.xxx 訂閱
小弟拉了一個pagecontrol,裡面新增一個tabsheet1,然後在 tabsheet裡面放一個stringgrid
,完全沒有寫任何程式,在執行,然後stringgrid裡面的欄位就會有一格是反白的
請問如何將那個反白拿掉,我是用delphi6的,謝謝
------
學問~學問~學著發問
P.D.
版主


發表:603
回覆:4038
積分:3874
註冊:2006-10-31

發送簡訊給我
#2 引用回覆 回覆 發表時間:2007-11-20 18:22:02 IP:61.67.xxx.xxx 未訂閱
最簡單的方式, 不要把 setfocus 定在stringgrid 就好了, 或者不要把stringgrid 的 taborder 定在 0, 意思一樣
sives1227
一般會員


發表:24
回覆:19
積分:8
註冊:2007-10-12

發送簡訊給我
#3 引用回覆 回覆 發表時間:2007-11-20 19:41:06 IP:140.128.xxx.xxx 訂閱
P.D.版主說的如果是直接在form表單裡面的話是可以
不過,我的stringgrid是放在pagecontrol裡面,這樣的話就不行
謝謝版主回覆
------
學問~學問~學著發問
編輯記錄
sives1227 重新編輯於 2007-11-20 19:41:38, 註解 無‧
jow
尊榮會員


發表:66
回覆:751
積分:1253
註冊:2002-03-13

發送簡訊給我
#4 引用回覆 回覆 發表時間:2007-11-20 20:21:37 IP:123.193.xxx.xxx 訂閱
Third Party Grid元件, TAdvStringGrid 對於 Selection 的部分
有特別彈性的設定, 你可以試試看.



紅色框標示的部分, 應該就是你想要的設定.

[code delphi]
procedure TForm1.FormCreate(Sender: TObject);
begin
AdvStringGrid1.Options := AdvStringGrid1.Options [goRowSelect];
AdvStringGrid1.ShowSelection := False;
end;
[/code]




編輯記錄
jow 重新編輯於 2007-11-20 20:24:26, 註解 無‧
jow 重新編輯於 2007-11-21 02:09:53, 註解 無‧
jow 重新編輯於 2007-11-21 02:12:14, 註解 無‧
sives1227
一般會員


發表:24
回覆:19
積分:8
註冊:2007-10-12

發送簡訊給我
#5 引用回覆 回覆 發表時間:2007-11-21 00:06:04 IP:61.225.xxx.xxx 訂閱
jow大大,如果不使用third party grid的話

使用一般的string,沒辦法解決我的問題嗎??
------
學問~學問~學著發問
P.D.
版主


發表:603
回覆:4038
積分:3874
註冊:2006-10-31

發送簡訊給我
#6 引用回覆 回覆 發表時間:2007-11-21 01:02:34 IP:61.67.xxx.xxx 未訂閱
你說的是這樣嗎?
剛好我是工作之餘休息時間弄了一個給你看, 要不然我覺得這個真的是窮極無聊的事情, 什麼程式碼也不做, 要stringgrid 空白幹嘛呢? 畫面提供給你看, 重點也提示了, 剩下就你自個努力想想看再來你要如何做了,
ps:這個程式我一個程式碼也沒有寫

===================引 用 sives1227 文 章===================
P.D.版主說的如果是直接在form表單裡面的話是可以
不過,我的stringgrid是放在pagecontrol裡面,這樣的話就不行
謝謝版主回覆
jow
尊榮會員


發表:66
回覆:751
積分:1253
註冊:2002-03-13

發送簡訊給我
#7 引用回覆 回覆 發表時間:2007-11-21 01:53:13 IP:123.193.xxx.xxx 訂閱
呵, 如果你堅持要這樣的效果, 你可以自己改寫 TStringGrid, 主要在於
改寫Paint的動作, 排除你不要的部分. 只是這不是簡單的做法, 因為Paint
一個Grid的動作考量點很多...

另外一種做法, 在OnDrawCell 中, 自己處理繪製Cell的動作.
首先將TStringGrid.DefaultDrawing 設定成 False.

[code delphi]
procedure TForm1.FormCreate(Sender: TObject);
begin
StringGrid1.DefaultDrawing := False;
end;
[/code]

剛好我之前也曾分享過一篇有點相關主題,
也是D6寫的, 還可以在TStringGrid上畫圖
你可以參考看看.......

http://delphi.ktop.com.tw/board.php?cid=31&fid=79&tid=89743

===================引 用 sives1227 文 章===================
jow大大,如果不使用third party grid的話

使用一般的string,沒辦法解決我的問題嗎??
編輯記錄
jow 重新編輯於 2007-11-21 01:59:09, 註解 無‧
系統時間:2024-04-26 19:12:53
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!