點選StringGrid某一列如何讓LeftCol不會跳到第一行? |
尚未結案
|
wivern
初階會員 發表:31 回覆:63 積分:28 註冊:2002-07-31 發送簡訊給我 |
請問一下,我的程式中StringGrid因為一列的資料比較多,
所以必須拉橫軸的Scroll才能看到後面的資料,
但是如果我點選另一列的資料,LeftCol又跳回第一行~
所以我必須再次拉Scroll來看後面的資料~
有沒有辦法讓StringGrid固定目前的LeftCol,
不會因為點選其他資料而跳到第一行? 程式中StringGrid的goRowSelect設為true,
我目前的方法如下:
void __fastcall TForm2::Result1SelectCell(TObject *Sender, int ACol, int ARow, bool &CanSelect) { isSelectRow=true; } void __fastcall TForm2::Result1TopLeftChanged(TObject *Sender) { if(isSelectRow) { isSelectRow=false; Result1->LeftCol=LeftColumn; return; } if(Result1->Top==previous_Top) LeftColumn=Result1->LeftCol; else previous_Top=Result1->Top; }如果使用者改變LeftColumn時,記錄改變後的LeftColumn, 當使用者點選另一列時,再改變LeftCol成之前記錄的值~ 只是這樣畫面會變成先跳回第一行,再很快的跳到後面~ 看起來不怎麼好看說~ 不知還有沒有什麼辦法可以做到呢?? StringGrid很像沒有什麼Property來控制要不要跳回第一行~ 還是有只是我沒有注意到.... 拜託各位了!!謝謝!! |
dllee
站務副站長 發表:321 回覆:2519 積分:1711 註冊:2002-04-15 發送簡訊給我 |
|
wivern
初階會員 發表:31 回覆:63 積分:28 註冊:2002-07-31 發送簡訊給我 |
|
kelon
一般會員 發表:17 回覆:27 積分:18 註冊:2002-07-22 發送簡訊給我 |
|
dllee
站務副站長 發表:321 回覆:2519 積分:1711 註冊:2002-04-15 發送簡訊給我 |
引言: 謝謝你的回答~~ 但是我的程式必須要有選一整欄的功能, 如果不選 goRowSelect, 有辦法做到類似的效果嗎??建議還是不要用 RowSelect ,需要「選整欄」那就在 OnDrawCell 自行為選到的那一欄上背景色即可。如下: if(ARow==this->StringGrid1->Row) { this->StringGrid1->Canvas->Brush->Color=clBlue; } else { this->StringGrid1->Canvas->Brush->Color=clWhite; } this->StringGrid1->Canvas->TextRect(Rect,Rect.Left,Rect.Top,this->StringGrid1->Cells[ACol][ARow]);沒空更新的網頁... http://dllee.ktop.com.tw C及指標教學,計算機概論,資訊管理導論... http://big5.to/吃軟也吃硬 http://coolsite.to/ushells 介紹Shells,LiteStep,GeoShell....
------
http://www.ViewMove.com |
wivern
初階會員 發表:31 回覆:63 積分:28 註冊:2002-07-31 發送簡訊給我 |
|
dllee
站務副站長 發表:321 回覆:2519 積分:1711 註冊:2002-04-15 發送簡訊給我 |
引言: 謝謝你的回答,其實你的方法我之前就有試過了, 不過問題在於,如果不用goRowSelect, 那點選其中某一個cell,只有那一個cell會引發OnDrawCell的事件, 那一欄其他cell不會重新畫過, 所以我還必須手動拖拉視窗讓視窗重新畫過才會有一欄都選取的效果, 而且當我點選同一頁另一欄的其中一個cell時, 也只有原先點選的那一個cell會引發OnDrawCell,回到原來的顏色, 同一欄其他cell的顏色還是藍色~~ 不知這要怎麼解決呢?對於 Grid 之 OnMouseDown,OnKeyDown 之類的事件中,加入 StringGrid1->Invalidate(); 或 StringGrid1->Update(); 強迫重繪即可。 沒空更新的網頁... http://dllee.ktop.com.tw C及指標教學,計算機概論,資訊管理導論... http://big5.to/吃軟也吃硬 http://coolsite.to/ushells 介紹Shells,LiteStep,GeoShell....
------
http://www.ViewMove.com |
wivern
初階會員 發表:31 回覆:63 積分:28 註冊:2002-07-31 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |