4
我有ListView(vsReport)和StringGrid,我想要的是如果我點擊ListView中的某個元素,StringGrid中的特定單元必須更改顏色。我該怎麼做?ListView和着色celll
路徑填充1(向上移動)和0(向右移動),它從左下角開始到右上角結束,我必須爲這些單元格着色。
感謝您的答案,我與我的問題來處理,但還有另一個小問題,我怎麼能離開文本在細胞中可見? FillRect填充整個單元格。
procedure TForm1.ListView1SelectItem(Sender: TObject; Item: TListItem; Selected: Boolean);
var aRect: TRect;
a,x,y:integer;
path:string;
begin
path:=ListView1.Items[Item.Index].Caption;
x:=0;
y:=StringGrid1.RowCount;
for a := 0 to length(path) do
begin
if path[a]='1' then y:=y-1 else x:=x+1;
aRect := StringGrid1.CellRect(x-1,y-1);
StringGrid1.Canvas.Brush.Color := clBlue;
StringGrid1.Canvas.FillRect(aRect);
end;
end;
歡迎來到StackOverflow。你到目前爲止嘗試過哪些方法無效?這不是「請爲我做功課」的網站。我們非常樂意嘗試並指導您找到解決方案,或者幫助您弄清楚爲什麼您所做的工作無法正常工作,但您必須證明您自己已經付出了一些努力。請編輯您的問題以提供您迄今嘗試的代碼,並解釋它如何不如預期的那樣工作,並且此處的某人可以幫助您瞭解如何解決該問題。謝謝。 :) – 2012-01-31 18:11:05
更好的問題。 :) +1。 – 2012-01-31 19:44:11