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

關於TStringGrid OnDrawCell的問題

缺席
TaylorKe
一般會員


發表:21
回覆:40
積分:17
註冊:2003-08-28

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-02-24 22:27:16 IP:219.68.xxx.xxx 未訂閱
我在程式中使用了一個StringGrid來做點選使StringGrid變色,但是我遇到一個問題,就是當我點選時,應該有一格是最後一個點的在我的程式中,會因為選擇而使StringGrid的長短有增加及縮小,但是,在最後一格縮小後,會影響到原來我點選的顏色,請問要如何處理這種問題呢?因為程式太長我把OnDrawCell的部份重畫顏色的部份傳上.請各位大大幫我看一下,有什麼問題呢?    程式片段: if(ACol>0 && ARow>0){ if(ACol<6){ switch(LRColor[ACol][ARow]){ case true: LRRelayTable->Canvas->Brush->Color=clHotLight; break; case false: LRRelayTable->Canvas->Brush->Color=clWindow; break; } } else if(ACol>6){ switch(LRColor[ACol][ARow]){ case true: LRRelayTable->Canvas->Brush->Color=clRed; break; case false: LRRelayTable->Canvas->Brush->Color=clWindow; break; } } else if(ACol==6){ switch(LRColor[ACol][ARow]){ case true: LRRelayTable->Canvas->Brush->Color=clGreen; break; case false: LRRelayTable->Canvas->Brush->Color=clWindow; break; } } LRRelayTable->Canvas->FillRect(Rect); LRRelayTable->Canvas->TextOut(Rect.Left, Rect.Top, LRRelayTable->Cells[ARow][ACol]); }
TaylorKe
一般會員


發表:21
回覆:40
積分:17
註冊:2003-08-28

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-02-24 22:31:50 IP:219.68.xxx.xxx 未訂閱
這個是選到最後一個,長度最長就只有17格 當縮短後,就會變成這樣.
TaylorKe
一般會員


發表:21
回覆:40
積分:17
註冊:2003-08-28

發送簡訊給我
#3 引用回覆 回覆 發表時間:2005-02-24 23:32:20 IP:219.68.xxx.xxx 未訂閱
不好意思,小弟找到問題了,只要把OnSelectCell裡的&CanSelect=false,最後一個select到的就不會在drawing時被改變了.
系統時間:2024-05-19 18:52:10
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!